Cuando recorro un vector de vectores, el resultado de cada ciclo es varios vectores. Esperaría que el resultado de cada bucle sea un vector. Consulte el siguiente ejemplo:Loop a través de un vector de vectores
> foo <- seq(from=1, to=5, by=1)
> bar <- seq(from=6, to=10, by=1)
> baz <- seq(from=11, to=15, by=1)
> vects <- c(foo,bar,baz)
> for(v in vects) {print(v)}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
Esto es extraño lo que cabe esperar tres vectores dado que (debe) repetir tres veces dado el vector, c (foo, bar, baz). Algo así como:
[1] 1 2 3 4 5
[1] 6 7 8 9 10
[1] 11 12 13 14 15
Puede alguien explicar por qué estoy recibiendo este resultado (15 vectores) y la forma de lograr el resultado Busco (3) vectores?
No existe un vector de vectores en R. La función 'c' simplemente concatena los tres vectores que le da en un vector largo. – Seth
@Seth, * sí * hay un vector de vectores. Una lista es * el * vector genérico en R y puede contener vectores. Podríamos llamarlas listas, pero en lo que a R se refiere, es un vector. (En comparación con un vector atómico que contiene solo un tipo de datos, una lista es un vector cuyos elementos pueden contener cualquier tipo de datos.) –
¿Me pregunto por qué se ha degradado? ¿Qué está mal? La pregunta es clara y reproducible, y contiene el resultado esperado. No sé por qué esta Q fue digna de un voto negativo, especialmente uno sin un comentario para decir por qué? –