我有一个用户定义的函数,我试图在矩阵上应用。也许这个例子会更好地解释它:
modFn<-function(x)
{
mod10 = x %% 10;
return(mod10)
}
mat = matrix(100:119, nrow = 5, ncol = 4)
apply(mat, 1, modFn)
它没有给我我需要的输出。我做错了什么?
答案 0 :(得分:3)
中的1
apply(mat, 1, modFn)
表示您正在按行工作...然后apply函数返回一个矩阵,其中cols与原始行相关...即。换位。
您正在考虑的是:
apply(mat, 2, modFn)
但这与Stibu提到的mat %% 10
相同。
(mat %% 10) == t (apply(mat, 1, modFn))