关于lapply子集的解释

时间:2017-07-17 17:58:09

标签: r

有人可以向我解释一下这个lapply是如何工作的吗? (它发出警告但工作正常)

A<-matrix(1:9, nrow = 3)
B<-matrix(1:16, nrow = 4)
C<-matrix(1:8, nrow = 4)
my.list<-list(A=A, B=B, C=C)
my.list
lapply(my.list, "[",,2)

我收到消息'函数调用缺少参数'

1 个答案:

答案 0 :(得分:1)

lapply的第二个参数之后的所有内容都作为参数传递给函数。

`[`是您正在应用的功能,即您正在进行提取 - 没什么,所以你发送了一个丢失的第一个参数(在R中,这意味着&#34;所有行&#34;) - 2是第二个参数,表示&#34;第二列&#34;

因此,对于列表中的每个元素x,您都应用x[ , 2]

说实话,更明确的版本更具可读性:

lapply(my.list, function(x) x[ , 2])