将 data.frame 从 R 插入到 Mongodb
Posted
技术标签:
【中文标题】将 data.frame 从 R 插入到 Mongodb【英文标题】:insert data.frame from R to Mongodb 【发布时间】:2013-04-23 06:21:49 【问题描述】:我有一个 Twitter 数据 CSV 文件,我使用 read.table
在 R 中读取该文件,然后我对该数据执行了一些算法并将输出作为表格数据。我想将此表格数据插入mongodb
。有人可以帮忙吗?
表格数据如下所示:
pqr
V2 V1 V3 V4 polarity emotion
1 342521635332_318304224958367 FB 2013-03-15 6:43 PM positive <NA>
2 342521635332_325506614238815 FB 2013-03-08 8:23 PM neutral sad
3 342521635332_347654842010216 FB 2013-02-22 8:13 PM positive <NA>
4 342521635332_567940913224072 FB 2013-02-22 6:27 PM neutral <NA>
5 342521635332_318826431554118 FB 2013-02-22 2:22 PM positive joy
6 342521635332_215298638612191 FB 2013-02-20 8:09 PM negative angry
7 342521635332_407970722630311 FB 2013-02-15 8:48 PM neutral joy
mongo.insert(m,'abc.xyz',pqr)
当我执行mongo insert
时,数据被插入到mongodb
,但数据在 mongodb 中看起来像这样。
db.xyz.find()
"_id" : ObjectId("5176273533da42cdbe49f2c5"), "V2" : [ 3, 5, 6, 9, 4, 2, 7, 1, 10, 8 ], "V1" : [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], "V3" : [ 6, 5, 4, 4, 4, 3, 2, 1, 1, 1 ], "V4" : [ 5, 8, 7, 4, 1, 6, 10, 9, 3, 2 ], "polarity" : [ 3, 2, 3, 2, 3, 1, 2, 2, 3, 1 ], "emotion" : [ -2147483648, -2147483648, -2147483648, -2147483648, -2147483648, -2147483648, 1, -2147483648, -2147483648, -2147483648 ]
我需要将数据插入到 mongodb 中,类似于表格数据。
【问题讨论】:
在放入mongodb之前尝试将所有因素转换为字符。 澄清“表格数据”:您要以data.frame
的形式保存结果吗?如果是这样,您能否提供一些来自str(mydata)
的输出?
【参考方案1】:
首先将数据帧转换为 BSON--
b=mongo.bson.from.df(df)
然后
使用 --
加载 mongo 集合mongo.insert(mongo,ns,b)
【讨论】:
以上是关于将 data.frame 从 R 插入到 Mongodb的主要内容,如果未能解决你的问题,请参考以下文章
使用 rmongodb 和 plyr 将大型 MongoDB 集合传输到 R 中的 data.frame