当我这样做时:
Matrix <-matrix(1:20, 4, 5)
然后这个
B <- apply(Matrix, c(1,2), length)
当我打印B
时,我得到1的矩阵而不是4 5s和5 4s?为什么请
答案 0 :(得分:2)
您似乎不理解MARGIN
函数的apply
参数。使用c(1,2)
将函数应用于行和列(即矩阵中的每个值)。所以你当然得到一个大小相等的矩阵,里面填充1
。仅对于行,请使用MARGIN
1
参数,列使用2
。
> apply(Matrix, 2, length)
[1] 4 4 4 4 4
> apply(Matrix, 1, length)
[1] 5 5 5 5