J'ai une liste nommée dont chaque élément est un vecteur de caractères. Je veux écrire cette liste dans une seule base de données où j'ai deux colonnes, une avec le nom du vecteur de caractère et la deuxième colonne avec chaque élément du vecteur de caractère. Toute aide serait appréciée.Dans R écrire liste avec plusieurs éléments à data.frame
Répondre
NewList <- lapply(names(List), function(X) data.frame(Names=X, Characters=List[[X]]))
do.call(rbind, NewList)
Une façon très simple serait d'utiliser cbind()
, comme ceci:
cbind(names(l),l)
Cela se traduira par la trame de données suivante, en supposant que l = liste (a = "hache", b = "bx"):
l
a "a" "ax"
b "b" "bx"
Bien sûr, vous pouvez renommer les colonnes et les lignes en ajustant les valeurs colnames (l) et rownames (l). Dans cet exemple, les noms de chaîne sont également automatiquement appliqués aux rownames de la trame de données résultant, donc, en fonction de ce que vous voulez faire avec vos données,
cbind(l)
pourrait suffire, ce qui
l
a "ax"
b "bx"
J'espère que je pourrais vous aider.
Bien sûr, il s'agit d'une solution pour les listes de chaînes de caractères plutôt que pour les vecteurs de caractères. Désolé si ce n'est pas ce que vous cherchiez. – maj
Si cela est utilisé avec des listes contenant des vecteurs de caractères de longueur> 1, vous obtenez une matrice de listes. L'expression "listes de chaînes de caractères" n'est pas claire, mais peut-être vouliez-vous dire des listes de vecteurs de caractères de longueur 1? –
Il m'a simplement fallu une seconde pour réaliser que dans R, les combinaisons de caractères comme dans "word123" (c'est ce que je voulais dire par "cordes") ne sont pas du tout les mêmes que vecteurs de caractères individuels. – maj
Peut-être
data.frame(vecname = rep(names(ll), sapply(ll, length)), chars = unlist(ll))
à ce que chaque élément de chaque composant de la liste correspond à une ligne dans la trame de données final.
C'est essentiellement le code dans 'stack.default', sans quelques erreurs de vérification et d'avertissement. –
Je me demande si stack
fournit les fonctions dont vous avez besoin (en utilisant l'exemple de Henrik)
ll <- list(x1 = c("a", "b", "c"), x2 = c("d", "e"))
stack(ll)
#-------
values ind
1 a x1
2 b x1
3 c x1
4 d x2
5 e x2
- 1. Comment écrire data.frame dans arff en utilisant R
- 2. ajouter une liste de vecteurs à un data.frame dans R
- 3. Ajout de colonnes à data.frame dans R
- 4. R convertir data.frame à la liste par colonne
- 5. Recherche d'un data.frame dans R
- 6. data.frame en R
- 7. R sort() data.frame
- 8. data.frame lignes à une liste
- 9. éléments Classement dans un data.frame
- 10. table avec prise data.frame en R
- 11. Remplacer certaines valeurs dans data.frame dans R
- 12. R: liste non équilibrée Split en data.frame colonne
- 13. Comment écrire plusieurs éléments avec Zend_Config_Writer_Xml?
- 14. Liste des données dans R
- 15. accéder aux valeurs individuelles dans data.frame R
- 16. R: colonnes d'un agrégat data.frame
- 17. Mise à jour data.frame d'un autre data.frame avec différentes colonnes R
- 18. R liste des fichiers avec plusieurs conditions
- 19. r, ajouter une colonne dans data.frame
- 20. jeux partiels d'un data.frame dans R
- 21. Comment attacher un simple data.frame à un SpatialPolygonDataFrame dans R?
- 22. Accéder aux éléments de la liste dans r
- 23. data.frame à tableau de tableaux JSON dans R
- 24. r appelez la colonne par nom data.frame retour data.frame
- 25. plusieurs colonnes d'un data.frame à un autre
- 26. Créer une nouvelle classe à partir de data.frame dans R
- 27. Comment obtenir une ligne à partir de R data.frame
- 28. Transformer les éléments vectoriels dans data.frame
- 29. Eléments communs de vecteurs avec plusieurs éléments dans r
- 30. objets liste classée dans la catégorie data.frame
Il serait utile que vous pouvez illustrer ce w/a [exemple reproductible] (http: // stackoverflow. com/questions/5963269/comment-faire-un-grand-r-reproductible-exemple), à savoir, un petit exemple de jeu de données et ce que vous voulez que la sortie ressemble. – gung
Veuillez publier un exemple de sortie que vous recherchez. – Mayou