首页 > 解决方案 > 如何将内置函数名称存储在 Vector 中并通过 R 中的循环进行解析

问题描述

我是 R 新手,需要一些帮助。

我想通过 For 循环为 dataframe 中的每一列计算平均值、中位数等df。这些函数存储在 vector 中my_func。我无法转换存储在向量中的变量my_func来执行预期的功能。我将统计信息添加到数据框的底部:

my_func=c("mean", "median", "stats::sd", "max", "min")

for (func in my_func){
  new_row <- c()

  for (i in names(df)){
    y <- func(df[ ,i], na.rm=F)
    new_row <- c(new_row, y)
  }
  df[nrow(df)+ 1, ] = c(new_row[1:11])
  rownames(df)[nrow(df)] <- j
}

标签: rfunction

解决方案


您可以将函数存储在不带引号的向量中:

my_func <- c(mean, median, stats::sd, max, min)

然后它应该工作。请注意,my_func它将变成一个列表。


推荐阅读