Je suis sûr qu'il y a des réponses à ma question, mais je n'arrive pas à trouver celle qui fonctionne et je suis absolument nouveau à R, donc excuses pour la redondance!Transposition et fusion de jeux de données dans R
J'ai donc un énorme ensemble de données - 17K obs avec 35 variables. C'était un fichier txt que j'ai importé et contraint avec as.matrix. La 1ère colonne contient des valeurs de caractères et les 34 autres colonnes ont des valeurs numériques.
Structure -
>str(data_m)
chr [1:17933, 1:35] "RAB12" "TRIM52" "C1orf86" "PLAC9" "MORN3" "LOC643783" "LOC389541" "OAZ2" ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:35] "Name" "X118" "X12" "X21" ...
Maintenant, il y a un autre petit jeu de données de forme longue avec 2 colonnes - id et le sexe.
> str(data_maleids)
'data.frame': 24 obs. of 2 variables:
$ id : Factor w/ 34 levels "X118","X12","X21",..: 8 23 9 19 10 7 5 4 2 30 ...
$ gender: Factor w/ 2 levels "female","male": 2 2 2 2 2 2 2 2 2 2 ...`
Par exemple. -
row.names id gender
1 1 X37 male
2 2 X64 male
Tout ce que je veux faire est de sous-ensemble du 1er jeu de données uniquement pour les ids (X37, X64, etc.) qui sont présents dans le 2ème jeu de données.
J'ai essayé de transposer le plus grand ensemble de données, mais cela me pose des problèmes en termes de noms de colonnes et je n'arrive pas à contourner ce problème.
Lorsque vous lisez votre première image, ne la contractez pas dans une matrice. Lorsque vous lisez dans votre deuxième dataframe (avec juste id et genre), réglez 'stringsAsFactors = FALSE'. Ensuite, faites juste 'df1 [df1 $ Name% dans% df2 $ id,]'. – Thomas
Il devrait être colnames (df1) plutôt que $ Name droit? Parce que l'id de df2 est en fait le nom de la colonne dans df1. Mais la logique a fonctionné. Merci ! Cependant, cela mène à une autre étape de fusionner la 1ère colonne $ Name de l'ensemble de données original qui fonctionne de nouveau mais n'est pas la meilleure façon de le faire, je suppose. Il devrait y avoir un moyen de conserver la colonne intitulée Nom en sous-ensembles – user2695213