我在R中有一个大约10,000个元素的列表。假设我只选择元素5、7和9。我不确定如果没有for循环该怎么做。
我想做类似的事情,mylist[[c(5,7,9]]
但这不起作用。我也尝试过该lapply
功能,但也无法使其正常工作。
我在R中有一个大约10,000个元素的列表。假设我只选择元素5、7和9。我不确定如果没有for循环该怎么做。
我想做类似的事情,mylist[[c(5,7,9]]
但这不起作用。我也尝试过该lapply
功能,但也无法使其正常工作。
Answers:
mylist[c(5,7,9)]
应该这样做。
您希望将子列表作为结果列表的子列表返回;您无需为此使用[[]]
(或更确切地说,函数是[[
),正如Dason在评论中提到的那样,它可以[[
抓取元素。
b
包含1000万个元素。filter_bins
是每个元素都是索引的列表。因此,为了只从b
具有相同索引的元素中获取数据,我将 lapply(filter_bins, function(x) b[x, ])
b [x,]仅返回行的子集(其中每个元素由filter_bins选择)。我的问题是,这非常慢
[[
。但是,如果您想提取多个元素,那么实际上您是在抓取一个子列表,您应该使用[
?"[["
:之间最重要的区别[
,[[
而$
在于[
可以选择一个以上的元素,而另外两个选择单个元素。