r-用户定义函数中的group_by错误


df_devw %>% 
group_by(year, wage_tile) %>% 
summarize(mean_engi = mean(d_engi)) %>%
pivot_wider(names_from = year, values_from = mean_engi)enter code here
tbl <- function(x){
df_devw %>%
group_by(year, wage_tile) %>%
summarize(mean_value = mean(x)) %>%
pivot_wider(names_from = year, values_from = mean_value)
}
tbl(df_devw$d_engi)

你好,我正在努力使用r中的用户定义函数。

为什么上面的两个代码没有打印相同的结果?第二段代码使用用户定义的函数打印结果,而不使用group_by。它打印整个数据集的平均值(不按'year'和'wage_tile')

谢谢。

函数可以修改为传递对象名称和列名(不加引号),然后使用大括号({{}})运算符返回列的值

f1 <- function(dat, x){
dat %>%
group_by(year, wage_tile) %>%
summarize(mean_value = mean({{x}})) %>%
pivot_wider(names_from = year, values_from = mean_value)
}

测试

f1(df_devw, d_engi)

最新更新