明确删除列表的元素

luc*_*ano 10 r list

我有这个清单:

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
Run Code Online (Sandbox Code Playgroud)

我想从列表中删除two并且three我想使用"two"和"three"来引用这些元素.我试过了:

myList <- myList[[-c("two", "three")]]
Run Code Online (Sandbox Code Playgroud)

......这给出了一个错误.

如何从列表中删除twothree使用"两个"和"三个"引用它们?

Noa*_*oss 24

myList[which(names(myList) %in% c("two","three"))] <- NULL
Run Code Online (Sandbox Code Playgroud)

  • 或者只是`myList [c("two","three")] < - NULL`. (17认同)
  • 如果您尝试一次删除它们,这将更容易理解:`myList [2] < - NULL; myList $ 3 < - NULL`. (2认同)