2013-05-27 19 views
10

mam tę listę:Usuń elementy listy wyraźnie

myList <- list(rnorm(10), rnorm(10), rnorm(10)) 

names(myList) <- c("one", "two", "three") 

$one 
[1] -0.07587506 -0.09997924 -0.41846732 1.41542651 -0.58678093 0.56909465 -1.11074541 
[8] 1.94663786 0.46381799 -0.11458166 

$two 
[1] 0.98883679 -0.06305794 -0.78961229 1.21091484 0.19636700 0.27458057 0.12374154 
[8] 0.83782946 -0.79627870 0.97675486 

$three 
[1] 0.67033455 -0.80243815 0.08716750 -2.90455146 -0.02433571 -0.93062428 -0.16886116 
[8] -0.60927976 -1.77758270 -1.05033148 

Chcę usunąć two i three z listy i chcę odnieść się do tych elementów za pomocą „dwa” i „trzy”. Próbowałem:

myList <- myList[[-c("two", "three")]] 

... co daje błąd.

Jak usunąć two i three z listy i przekazać je za pomocą "dwóch" i "trzech"?

Odpowiedz

23
myList[which(names(myList) %in% c("two","three"))] <- NULL 
+2

Jest to łatwiejsze do zrozumienia, jeśli spróbujesz je usunąć naraz: 'myList [2] <- NULL; myList $ trzy <- NULL ". – MrGumble

+17

lub po prostu 'myList [c (" dwa "," trzy ")] <- NULL". – flodel