2016-02-26 126 views
0

我有一個用戶定義的函數,我嘗試使用這個函數應用在矩陣上。也許例子將更好地解釋它:使用用戶定義的函數

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

    return(mod10) 
} 

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

apply(mat, 1, modFn) 

它不給我,我需要的輸出。我究竟做錯了什麼?

+1

這是否提供您需要的輸出:mat %% 10'?如果不是,你需要什麼? – Stibu

回答

3

的1

apply(mat, 1, modFn) 

表示你是行的工作...然後應用函數返回的cols涉及到你原來的列的矩陣...即。換位。

也許你所想的是:

apply(mat, 2, modFn) 

但這是Stibu提到的一樣mat %% 10

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