我正在尝试使用dplyr将公式的解决方案添加到数据框。使用函数mutate(),我想创建一个称为cutoff的列。列截止处的行应包含a2中存储的公式的解。
这是我的代码:
library(dplyr)
a1 <- "AVG(C1) * .290"
a2 <- gsub("AVG[(]C1[)]","mean",a1)
newiris <- iris %>%
group_by(Species) %>%
summarize(n= n(),mean = mean(Petal.Width),
cv=sd(Petal.Width)/mean(Petal.Width)*100) %>%
mutate(cutoff=a2)
这是我现在想要的:
这就是我想要的:
任何帮助将不胜感激。
答案 0 :(得分:1)
newiris <- iris %>%
group_by(Species) %>%
summarize(n = n(), mean = mean(Petal.Width),
cv = sd(Petal.Width)/mean(Petal.Width)*100) %>%
mutate(cutoff = eval(parse(text = a2)))
答案 1 :(得分:0)
使用一些引人注目的报价,我们可以很容易地做到这一点:
library(tidyverse)
a1 <- "AVG(C1) * .290"
a2 <- gsub("AVG[(]C1[)]","mean",a1)
a3 <- paste("cutoff =", a2)
newiris <- iris %>%
group_by(Species) %>%
summarize(n = n(),
mean = mean(Petal.Width),
cv= sd(Petal.Width) / mean(Petal.Width)*100) %>%
mutate(!!rlang::parse_expr(a3))
由reprex package(v0.2.1)于2019-02-27创建