首页 > 解决方案 > 我如何使用 R 中的 forcats 包传递折叠函数的参数

问题描述

我正在 R 中编写一个函数折叠分类变量。该函数包含 4 个参数function(data, new_var, select_var, list_levels),我如何将最后一个参数list_levels作为表达式列表传递,或者如何让它工作?

library(forcats)
partyid2 <- fct_collapse(gss_cat$partyid,
                         missing = c("No answer", "Don't know"),
                         other = "Other party",
                         rep = c("Strong republican", "Not str republican"),
                         ind = c("Ind,near rep", "Independent", "Ind,near dem"),
                         dem = c("Not str democrat", "Strong democrat")
)
fct_count(partyid2)

collapse_cat <- function(data, new_var, select_var, list_levels){
  data[[new_var]] <- fct_collapse(data[[select_var]], ....................)
}

collapse_cat(gss_cat, "test", "partyid", list_levels = list(missing = c("No answer", "Don't know"),
                                                            other = "Other party",
                                                            rep = c("Strong republican", "Not str republican"),
                                                            ind = c("Ind,near rep", "Independent", "Ind,near dem"),
                                                            dem = c("Not str democrat", "Strong democrat")))

标签: rdplyrcollapseforcats

解决方案


推荐阅读