从列表中选择多个元素

use*_*015 71 r list subset

我有一个R列表,大约10,000个元素.假设我只想选择元素5,7和9.我不确定如果没有for循环我会怎么做.

我想做一些类似mylist[[c(5,7,9]]但不起作用的事情.我也试过这个lapply功能,但也无法让它工作.

Gle*_*n_b 126

mylist[c(5,7,9)] 应该这样做.

您希望将子列表作为结果列表的子列表返回; 你没有使用[[]](或者更确切地说,函数是[[) - 正如Dason在评论中提到的那样,[[抓住元素.

  • 只是添加更多细节 - "["将返回一个子列表,因此您可以使用多个输入."[["实际上会抓取元素本身,因此它只能输入一个输入,因为它没有返回一个列表(除非元素本身是一个列表). (8认同)
  • @HermanToothrot你没有.至少不是直接的.你可以为你想要提取的索引提供lapply或sapply,并用`[[`来迭代地获取相应的元素.但是如果你想提取多个元素,那么你真的要抓住一个子列表,你应该只使用`[` (3认同)