我在这里看了一下StackOverflow的答案,但我想我可能会错过一个术语。这是场景:
我有一个包含多个要报告的多个组的大型数据集。假设这个数据集将某些问题的答案作为列,我想采用特定的列和响应,对答案进行分组并执行计数。基本上,我有一个dplyr过滤器表达式,如下所示:
z <- results %>% filter(AgeGroup %in% c("16-20", "21-25", "26-30")) %>%
group_by(AgeGroup) %>% summarize(ageCount=n())
然后我使用xtable()生成一个包含结果的表,并将它们转储到我的Rmarkdown文档中。我想做的是创建一个可以执行此操作的函数,以便我可以执行以下操作
resultPrint <- function(qualifier, groupColumn) {
return(results %>% filter(qualifier) %>%
group_by(groupColumn) %>% summarize(count=n())
}
resultPrint("AgeGroup %in% c(\"16-20\", \"21-25\", \"26-30\")", "AgeGroup")
或某些等价物。
有没有办法在R中这样做?如果可以的话,它会简化我写的很多代码。谢谢!
答案 0 :(得分:1)
谢谢r2evans!这是我的解决方案:
resultPrint <- function(qualifier, groupColumn) {
return(results %>% filter_(qualifier) %>%
group_by_(.dots = groupColumn) %>% summarize(count=n()))
}
filterClause = quote(AgeGroup %in% c("16-20", "21-25", "26-30"))
stuff <- resultPrint(filterClause, quote(AgeGroup))
谢谢!