应用用户定义的函数

时间:2016-02-26 15:27:53

标签: r apply

我有一个用户定义的函数,我试图在矩阵上应用。也许这个例子会更好地解释它:

modFn<-function(x)
{
   mod10 = x %% 10;

   return(mod10)
}

mat = matrix(100:119, nrow = 5, ncol = 4)

apply(mat, 1, modFn)

它没有给我我需要的输出。我做错了什么?

1 个答案:

答案 0 :(得分:3)

中的1
apply(mat, 1, modFn)

表示您正在按行工作...然后apply函数返回一个矩阵,其中cols与原始行相关...即。换位。

您正在考虑的是:

apply(mat, 2, modFn)

但这与Stibu提到的mat %% 10相同。

(mat %% 10) == t (apply(mat, 1, modFn))