如何从矩阵的列构造函数调用pmax

时间:2013-05-17 15:21:36

标签: r matrix

我想使用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的大小在程序开始之前是未知的。

2 个答案:

答案 0 :(得分:7)

您可以使用do.call

do.call(pmax, as.data.frame(A))

答案 1 :(得分:2)

只需使用apply代替max ......

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