跨R中的列应用函数

跨R中的列应用函数,r,function,apply,multiple-columns,R,Function,Apply,Multiple Columns,假设在R中有一个数据帧(df): df我们可以用两个参数创建函数 mad <- function(x, y) abs(mean(x - y, na.rm = TRUE)) 这里是另一个没有定义mad函数的选项: sapply(abs(df[-1] - df[["x"]]), mean, na.rm = TRUE) mad <- function(dat) { abs(mean(dat[,1] - dat[,2:4], na.rm = TRUE)) }

假设在R中有一个数据帧(df):


df我们可以用两个参数创建函数

mad <- function(x, y) abs(mean(x - y, na.rm = TRUE))

这里是另一个没有定义
mad
函数的选项:

sapply(abs(df[-1] - df[["x"]]), mean, na.rm = TRUE)
mad <- function(dat) {
     abs(mean(dat[,1] - dat[,2:4], na.rm = TRUE))
}
mad(dat = df)
mad <- function(x, y) abs(mean(x - y, na.rm = TRUE))
sapply(df[-1], function(x) mad(df[,1], x))
#         u           y           z 
#0.003399429 0.991685267 0.710553411 
sapply(abs(df[-1] - df[["x"]]), mean, na.rm = TRUE)