相当于lapply(a,function(x)x [,1])

时间:2017-05-23 12:50:13

标签: r

是否有相当于此代码的terser?

a <- list(matrix(1,3), matrix(2,3))
lapply(a, function(x) x[,1])

我想填写???

lapply(a, `[`, ???)

1 个答案:

答案 0 :(得分:6)

我们需要设置,来模仿行,列索引。在这里,我们想要获取该列以及该列中的所有行。因此,我们可以将其保留为空白(, ,

lapply(a, `[`, , 1)

假设我们想要第一行。这里[表示提取运算符。在逗号之后,我们从行/列索引开始。在下面的例子中,我们提取第一行,因此,它应该是1,然后是,,这意味着获取该行的所有列值

lapply(a, `[`, 1,)

或者对于单个列matrix

lapply(a, c)