2017-09-12 2 views
0

J'ai trois ensembles de données que je veux joindre afin de créer un ensemble de test pour être utilisé dans un algorithme d'apprentissage automatique supervisé. Le problème est que, bien qu'ils aient quelques variables en commun, ils diffèrent généralement par le nombre de lignes et d'éléments. J'ai essayé d'employer la fonction de fusion(), mais cependant, plus je l'emploie, le plus petit nombre de rangées que j'obtiens. Et à la fin, j'obtiens un petit jeu de données avec un nombre ridicule de rangées.Comment créer un ensemble de tests à partir de plusieurs ensembles de données et éviter de supprimer des variables dans le processus?

J'ai ces trois ensembles de données:

test_review nºrows 22956 
test_business nrows 1205 
test_user  nrows 5105 

Je veux garder le nombre initial de commentaires de jeu de données test_review (22956) pour le test_set ultime. L'idée est que l'entreprise ou l'utilisateur qui n'a pas de coïncidence à ce moment en utilisant merge() avec le review_set, il apparaît comme une valeur Na dans la nouvelle colonne correspondante suite à la fusion des deux ensembles de données. Y a-t-il un moyen de rendre cela possible?

+0

La façon de faire en sorte que 'merge' ne supprime pas toutes les lignes de données est d'inclure l'argument' tous = TRUE'. – eipi10

+3

Post 'head (test_review); tête (test_business); head (utilisateur_test) ' – PoGibas

Répondre

0

vous pouvez essayer

library(plyr) 
rbind.fill(test_review,test_business,test_user)