Je veux lier des vecteurs de longueurs différentes. J'ai regardé this thread, mais il n'est pas clair à ce sujet comment je peux faire une matrice/liste en utilisant append ou cbind.Liaison de vecteurs de longueur variable R
À titre d'exemple, Prenons 2 vecteurs aléatoires de longueurs différentes:
> b<-sample(10,5)
> d<-sample(10,10)
fonctionne maintenant cbind sur eux répétera le vecteur plus petit à tout ce qui est possible,
> cbind(b,d)
b d
[1,] 3 7
[2,] 5 4
[3,] 10 3
[4,] 4 2
[5,] 6 5
[6,] 3 8
[7,] 5 6
[8,] 10 10
[9,] 4 9
[10,] 6 1
Si je tente de faire ajouter,
> append(b,d)
[1] 3 5 10 4 6 7 4 3 2 5 8 6 10 9 1
Il ajoute les deux vecteurs dans 1 Une solution plus longue consistera à sauvegarder les longueurs de vecteurs dans un vecteur différent et à extraire les vecteurs de ce vecteur consolidé avec une boucle, en utilisant le vecteur de longueur. Mais y a-t-il une meilleure façon de le faire? Parce que je veux mettre cette matrice/liste plus grande dans une fonction, ce qui deviendra plus facile si je n'utilise pas cette méthode basée sur le vecteur de longueur.
Quelle est votre sortie désirée? – dayne
Une matrice ou une liste contenant des vecteurs de longueurs variables, que je rejoins dans une boucle. –
Vous ne pouvez pas créer de matrices dentelées dans R. Vous devez donner une certaine valeur aux cellules manquantes. Vous pouvez créer une liste de vecteurs. 'some.list <- list (b = b, d = d)', puis utilisez la liste pour boucler/appliquer pour faire vos calculs. Que faites-vous avec la matrice/liste souhaitée? – dayne