我想執行下面的dplyr任務,但在一個函數內。函數與dplyr與兩個變量
library("dplyr")
iris %>%
group_by(Species) %>%
summarise(N = sum(Petal.Width == 0.2, na.rm = T))
我正在考慮以下內容,因爲我對語法不清楚,所以我並不完整。
getSummary <- function(varName,level) {
summary <- iris %>%
group_by(Species %>%
summarise_(N = interp(~sum(var == ilevel, na.rm = T),
var = as.name(varName))))
sums <- summary$N
}
在這種情況下,水平是數字0.2。如果值是字符「0.2」,是否有任何更改?
你的函數參數是'level',但是你在'summarise'中使用'ilevel'? – neilfws
你錯過了'group_by'的括號,你需要返回'summary'或者不要將它作爲變量存儲在第一位。 – alistaire