5

我想用来pmax计算矩阵的行最大值A

A = matrix(sample(1:20),10,2)
pmax(A[,1],A[,2])

这很好用。但问题是我不知道 A 的大小,所以调用pmax应该能够按列拆分矩阵并将每一列作为参数提供。怎么做?例如,我可能在下一个实例中有

A = matrix(sample(1:20),5,4)

但我不想每次都手动重写

pmax(A[,1],A[,2],A[,3],A[,4])

事实上,我不能,因为在A程序开始之前大小是未知的。

4

2 回答 2

7

您可以使用do.call

do.call(pmax, as.data.frame(A))
于 2013-05-17T15:37:27.103 回答
2

只需使用applywithmax代替...

apply( A , 1 , max )
# [1]  6 11 20 18 17

pmax(A[,1],A[,2],A[,3],A[,4])
# [1]  6 11 20 18 17
于 2013-05-17T15:29:15.030 回答