Obtener la columna de una lista de listas en R
Usando R, mi conjunto de datos L
es una lista de listas. Mi print(L)
produce la siguiente salida:
[[1]]
[[1]][[1]]
[1] 0.8198689
[[1]][[2]]
[1] 0.8166747
[[2]]
[[2]][[1]]
[1] 0.5798426
[[2]][[2]]
[1] 0.5753511
[[3]]
[[3]][[1]]
[1] 0.4713508
[[3]][[2]]
[1] 0.4698621
Y quiero obtener un vector de la segunda columna. Sin embargo, unlist(L[[2]])
me da la segunda fila (no la segunda columna) y L[,2]
me da el error Error in L[, 2] : incorrect number of dimensions
. También intenté L$'2
' y no funcionó.
¿Cómo puedo obtener el vector de la segunda columna de este conjunto de datos en R?
davy.ai
Para obtener el vector de la segunda columna de una lista de listas, puedes usar la función
sapply()
para extraer la columna deseada. En este caso, puedes usarsapply(L, "[[", 2)
para extraer el segundo elemento de cada lista (que corresponde a la segunda columna en este caso). El código final se vería así:Esto devolverá un vector con los valores
[0.8166747, 0.5753511, 0.4698621]
, que corresponde a la segunda columna de la lista original de listas.