Tengo una lista en R de unos 10.000 elementos. Digamos que quiero seleccionar solo elementos, 5, 7 y 9. No estoy seguro de cómo lo haría sin un bucle for.
Quiero hacer algo así, mylist[[c(5,7,9]]
pero no funciona. También probé la lapply
función pero tampoco he podido hacer que funcione.
?"[["
: La distinción más importante entre[
,[[
y$
es que[
pueden seleccionar más de un elemento mientras que los otros dos seleccionan un solo elemento.Respuestas:
mylist[c(5,7,9)]
Deberías hacerlo.Quiere que las sublistas se devuelvan como sublistas de la lista de resultados; no usa
[[]]
(o más bien, la función es[[
) para eso, como menciona Dason en los comentarios,[[
toma el elemento.fuente
b
contiene 10 millones de elementos.filter_bins
es una lista donde cada elemento es un índice. así que para obtener solo elementosb
con el mismo índice, tengolapply(filter_bins, function(x) b[x, ])
b [x,] solo devuelve un subconjunto de las filas (donde cada elemento es elegido por filter_bins) .. Espero que esto tenga sentido. Mi pregunta es que esto es muy lento[[
. Pero si desea extraer varios elementos, entonces realmente está tomando una sublista y debería usar[