考虑以下情况,在对象myList
mat<;-矩阵(1:12,ncol=3)
myList<;-列表(mat1=mat,mat2=mat,mat3=mat,mat4=mat)
我想从每个矩阵中选择一个特定的列,并对其进行处理。这将获得每个矩阵的第一列,并将其作为矩阵返回(lappy()
会给我一个列表也可以)
sapply(myList,函数(x)x[,1])
我似乎不能直接在我的sapply()
或lappy()
咒语中使用[
作为函数。?“['
告诉我需要提供参数j
作为列标识符。那么我做错了什么,这不起作用
lappy(myList,`[`,j=1)
$mat1
[1] 1
$mat2
[1] 1
$mat3
[1] 1
$mat4
[1] 1
我所期望的是:
$mat1
[1] 1 2 3 4
$mat2
[1] 1 2 3 4
$mat3
[1] 1 2 3 4
$mat4
[1] 1 2 3 4
我怀疑我得到了错误的[
方法,但我不知道为什么?想法
我认为您得到了[
的1参数形式。如果您使用lappy(myList,&`;[&`;,I=,j=1)
,它会工作