【发布时间】:2017-10-13 14:22:17
【问题描述】:
我正在努力使用参数和直接从数据框中混合引用列名。请帮我更正第二个函数以返回与第一个函数相同的结果
install.packages("dplyr", version = "0.5.0")`
library(dplyr)
df <- data.frame(year = 2010:2015, GVA = 1:6)
f <- function(df) {
df %>%
mutate(indexGVA = GVA/max(ifelse(year == 2010, GVA, 0)) * 100)
}
f(df)
g <- function(df, val = NULL) {
df %>%
mutate_(indexGVA = ~val/max(ifelse(year == 2010, val, 0)) * 100)
}
g(df, val = "GVA")
【问题讨论】:
-
它给出了错误: mutate_impl(.data, dots) 中的错误:二进制运算符的非数字参数