我正在尝试编写一个函数,该函数允许我通过对数据框中的多个因素进行分组来生成描述性统计数据。我花了太多时间试图让我的函数识别我选择的变量。
这是假数据:
grouping1 <- c("red", "blue", "blue", "green", "red", "blue", "red", "green")
grouping2 <- c("high", "high", "low", "medium", "low", "high", "medium", "high")
value <- c(22,40,72,41,36,16,88,99)
fake_df <- data.frame(grouping1, grouping2, value)
假代码示例:
library(dplyr)
by_group_fun <- function(fun.data.in, fun.grouping.factor){
fake_df2 <- fun.data.in %>%
group_by(fun.grouping.factor) %>%
summarize(mean = mean(value), median = median(value))
fake_df2
}
by_group_fun(fake_df, grouping1)
by_group_fun(fake_df, grouping2)
这给了我:
Error in grouped_df_impl(data, unname(vars), drop) : Column `fun.grouping.factor` is unknown
第二次尝试
我试图将函数中选择的 by 变量分配给一个新变量并继续执行。
假代码示例(第二次尝试):
by_group_fun2 <- function(fun.data.in, fun.grouping.factor){
fun.data.in$by_var <- fun.data.in$fun.grouping.factor
fake_df2 <- fun.data.in %>%
group_by(by_var) %>%
summarize(mean = mean(value), median = median(value))
fake_df2
}
by_group_fun2(fake_df, grouping1)
by_group_fun2(fake_df, grouping2)
这,第二次尝试,给了我:
Error in grouped_df_impl(data, unname(vars), drop) : Column `by_var` is unknown