【发布时间】:2018-09-14 12:14:06
【问题描述】:
我有一个数据框 x。
x <- data.frame(a = c(10, 20, 30, 0), b = c(1, 2, 3, 0), c = c(1, 2, 3, 0), d = c(8, 16, 24, 0))
x
denominator_var <- "a"
numerator_vars <- c("b", "c", "d")
使用 dplyr,我正在尝试添加新列(b_share、c_share 和 d_share),以使它们中的每一个都等于划分为 a 的相应列(b、c 和 d)。 但是,对我来说重要的是不要使用原始变量名称,而是使用 动态 变量名称。
我下面的代码不起作用。怎么了?
x %>% mutate_at(vars(one_of(numerator_vars)),
funs(share = ifelse(!!(denominator_var) > 0, round(./!!(denominator_var) * 100, 2), 0)))
非常感谢!
【问题讨论】: