es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , ,

Answer

  1. Avatar for 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 usar sapply(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í:

    sapply(L, "[[", 2)
    

    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.

Comments are closed.