2017-10-17 2 views
1

J'essaie d'obtenir une base de données qui vient de Mongo DB à R, donc je peux y faire une analyse. Le pont entre ces deux est un paquet R: Rmongo. Comme j'ai quelques règles de politique, je ne peux pas vous montrer l'ensemble de données et mon résultat, donc je vais essayer d'expliquer le mieux possible.Convertir une base de données de MongoDB en une trame de données R en utilisant Rmongo

Mes deux premières commandes, après l'installation du package, sont ceux-ci:

mg1 <- mongoDbConnect("test", "localhost", 27018)

dbShowCollections(mg1)

Ce qui fonctionne, car il montre la collection, ou les différentes variables. Ensuite, je peux utiliser les commandes faites par le paquet Rmongo, ce qui signifie:

query = dbGetQuery(mg1, 'address_history','{}')

Cela renvoie normalement une trame de données avec toutes les variables de chaque colonne. Mais, parce que c'est un fichier imbriqué, je n'ai que les trois premières variables (sur une cinquantaine), car elles sont au sommet du nid. Pour le reste, j'obtiens une colonne de la trame de données avec le code json (donc environ 50 variables) que je n'arrive pas à transformer en une trame de données. Si quelqu'un est familier avec cela, aidez-moi s'il vous plaît.

J'ai déjà vu sur Stack Overflow un moyen de le faire manuellement grâce à gsub, et en général avec le code, mais ce code est dissemblable, et le faire manuellement ne le fera pas fonctionner.

De plus, il y a aussi une autre commande via le package Rmongo:

query2 = dbGetQueryForKeys(mg1, 'address_history', '{}', '{address:1}')

où je peux retourner la variable que je veux. Malheureusement, comme il s'agit d'un fichier imbriqué, il ne peut pas non plus trouver les variables qui ne sont pas dans le haut du nid.

Y at-il une autre commande ou un autre paquet que je peux utiliser? Je suis ouvert à toute autre opportunité d'obtenir cet ensemble de données (très grand) dans une base de données R, donc je peux faire des inférences.

Merci beaucoup!

Répondre

0

J'ai essayé tout à l'heure de configurer Rmongo et mongolite pour R. J'ai fait fonctionner la mongolite en quelques minutes avec le starter data locally. Je ne pouvais même pas obtenir les données que je voulais insérer en utilisant Rmongo.

Je pense que si vous essayez d'installer mongolite, vous trouverez leur documentation et leur package plus simples. https://github.com/jeroen/mongolite

+1

Salut Sam !! Après avoir utilisé la commande mongolite, j'ai un cadre de données. Mais j'ai choisi 14 variables, donc je devrais avoir 15 colonnes. Malheureusement, la description de l'objet est une trame de données de deux variables: il ne sépare donc pas les 14 dernières colonnes: seul l'identifiant est différencié. Je voulais savoir s'il y avait un moyen de résoudre ce problème? – Caroline

+0

Pouvez-vous envoyer un échantillon de vos données au format json de mongo? –