1
我已經在這裏查看了StackOverflow的答案,但我想我可能會錯過一個術語。這裏的場景:通過將文本傳遞給函數來簡化R中的可重複代碼以用作參數
我有一個大型的數據集,我想報告多個組。假設這個數據集以列的形式回答了某些問題,並且我想要採取特定的專欄和迴應,對答案進行分組並且執行計數。從本質上講,我有一個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中做到這一點?如果可以的話,它會簡化我寫的很多代碼。謝謝!
我認爲你正在尋找[NSE(非標準評估)](http://adv-r.had.co.nz/Computing-on-the-language.html),也許在'?filter_ '(注意下劃線)。查看[dplyr Use Cases:Non-interactive Mode](http://www.r-bloggers.com/dplyr-use-cases-non-interactive-mode/)瞭解更多想法。 – r2evans