将 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的主要内容,如果未能解决你的问题,请参考以下文章

如何使用R [list]将列表的名称插入到列中

将R data.frame中的几列从整数转换为数字

使用 rmongodb 和 plyr 将大型 MongoDB 集合传输到 R 中的 data.frame

R-将提取的文本数据(每个实例作为行)导出为data.frame格式

如何从 R 在 MongoDB 中批量插入文档?

将函数应用于 data.frame 中的每一行并将结果附加到 R 中的 data.frame