Ho una lista in R con i seguenti elementi:Come estrarre gli elementi da una lista con gli elementi misti
[[812]]
[1] "" "668" "12345_s_at" "667" "4.899777748"
[6] "49.53333333" "10.10930207" "1.598228663" "5.087437057"
[[813]]
[1] "" "376" "6789_at" "375" "4.899655078"
[6] "136.3333333" "27.82508792" "2.20223398" "5.087437057"
[[814]]
[1] "" "19265" "12351_s_at" "19264" "4.897730912"
[6] "889.3666667" "181.5874908" "1.846451572" "5.087437057"
So che io possa accedere con qualcosa di simile list_elem[[814]][3]
nel caso che voglio estrarre il terzo elemento della posizione 814. Ho bisogno di estrarre il terzo elemento di tutta la lista, ad esempio 12345_s_at
, e voglio metterli in un vettore o in un elenco in modo da poter confrontare i loro elementi in un altro elenco in seguito. Qui di seguito è il mio codice:
elem<-(c(listdata))
lp<-length(elem)
for (i in 1:lp)
{
newlist<-c(listdata[[i]][3]) ###maybe to put in a vector
print(newlist)
}
Quando stampo i risultati che ottengo il terzo elemento, ma in questo modo:
[1] "1417365_a_at"
[1] "1416336_s_at"
[1] "1416044_at"
[1] "1451201_s_at"
quindi non posso li attraversare con un indice come newlist[3]
, perché restituisce NA
. Dov'è il mio errore?
Utilizzare 'sapply' per evitare la parte' unlist'. Inoltre, penso che '[' sarebbe sufficiente. +1 – GSee