R 如何使用;[“函数”用于选择矩阵的行/列

R 如何使用;[“函数”用于选择矩阵的行/列,r,R,如何使用“[”函数选择矩阵的列或行 x <- matrix(1:4, ncol=2) 还有这两个: x[4] "["(x,4) 但是如何重写呢 x[2,] 使用“[”(…)?只需将参数留空即可 "["(x, 2, ) # second row [1] 2 4 "["(x, ,2) # second column [1] 3 4 这太直截了当了,我现在觉得有点傻。我实际上是想用sapply on list of matrix中的“[”来选择每个矩阵的第一行,比如“

如何使用
“[”
函数选择矩阵的列或行

x <- matrix(1:4, ncol=2)
还有这两个:

x[4]
"["(x,4) 
但是如何重写呢

x[2,]

使用“[”(…)?

只需将参数留空即可

"["(x, 2, )   # second row  
[1] 2 4

"["(x,  ,2)    # second column
[1] 3 4

这太直截了当了,我现在觉得有点傻。我实际上是想用sapply on list of matrix中的“[”来选择每个矩阵的第一行,比如“ls=list(x,x);sappy(ls),[”,1,,?),但我失败的尝试导致了这个问题,标准的R方法是使用匿名函数:
sapply(l,function(x)x[1,])
@Ape Try
lappy(l,`[`,i=1,j=)
lappy(l,head,n=1)
适用于行,但不太通用,因为您不能处理列。@richecotton:该示例的一个问题是,它允许您认为
[
按名称匹配,而实际上只按位置匹配。请考虑:
lappy(l,[',j=1,i=)
lappy(l,“[”,1)
@JoshuaUlrich发现得很好-我以前没有注意到
[
有非标准的参数匹配。我认为这是一个有意义的特性。以错误的顺序使用命名参数只会导致糟糕的错误代码。
"["(x, 2, )   # second row  
[1] 2 4

"["(x,  ,2)    # second column
[1] 3 4