通过计算另一个中的表达式来创建一个新列

Create a new column by evaluating an expression in another

在下面的示例中,变量 expr 包含一个字符串形式的表达式。但是,最后一个 mutate 命令没有正确计算该表达式。你能帮我理解为什么吗?

symbols <- expand.grid(data.frame(matrix(rep(c("+","-",""),8),ncol=8)))

df <- symbols %>%
  transmute(expr=paste0(1,X1,2,X2,3,X3,4,X4,5,X5,6,X6,7,X7,8,X8,9)) %>%
  mutate(eval=eval(parse(text=expr)))

尝试rowwise()

df <- symbols %>%
         transmute(expr=paste0(1,X1,2,X2,3,X3,4,X4,5,X5,6,X6,7,X7,8,X8,9)) %>%
         rowwise() %>%
         mutate(v1=eval(parse(text=expr)))