J'ai une liste de vecteurs, comme ceci:
[,1] [,2] [1,] 1 1 [2,] 1 2 [3,] 1 7 [4,] 1 9 [5,] 1 10 [6,] 1 13 [7,] 1 14 [8,] 1 15 [9,] 1 20 [10,] 2 3 [11,] 2 4 [12,] 2 5 [13,] 2 6 [14,] 3 8 [15,] 3 11 [16,] 3 12 [17,] 4 16 [18,] 4 17 [19,] 4 18 [20,] 4 19 [21,] 5 21 [22,] 5 22 [23,] 5 23
3 Réponses :
Vous pouvez utiliser Unlist code> pour obtenir les valeurs de la liste, puis utiliser
sapply code> pour obtenir le nombre de valeurs dans chaque élément de la liste.
# Generate the list
a <- list(1:10, 20:30, 40:45)
# Find the number of elements
num.el <- sapply(a, length)
# Generate the matrix
res <- cbind(unlist(a), rep(1:length(a), num.el))
Si l code> est votre liste d'origine:
library(reshape2) lst <- list(c(1:3), c(11:12), c(22)) > melt(lst) value L1 1 1 1 2 2 1 3 3 1 4 11 2 5 12 2 6 22 3
S'il vous plaît essayez d'utiliser une terminologie cohérente. Votre titre de question demande un
data.frame code>, mais votre question demande un
matrice code>.
Vous avez déjà une période de réponse, mais vérifier également la cause de la mine
fond code> est très utile pour sa flexibilité dans la prise comme entrée
data.frame code>,
tableau code> et
Liste code> et pour les différentes options "Melting", vous pouvez faire varier les paramètres.