给定一个数据帧和包含操作以在列执行字符串:řdplyr transmute_串输入错误
myDF <- as.data.frame(cbind(c(1,2,3,4),c(1,2,3,4),c(1,2,3,4)))
myString <- 'Added = V1 + V2'
调用“transmute_()”会给我所需的输出:
transmute_(myDF,myString)
输出:
Added = V1 + V2
1 2
2 4
3 6
4 8
太好了!但是,如果我立即重复相同的'transmute_()'函数,我会得到一个错误。
transmute_(myDF,myString)
Error: invalid (do_set) left-hand side to assignment
更改输入字符串的列名仍然给出相同的错误,并将相同的字符串存储在不同的变量中。但是,如果我更改新的列名称,它将首次再次运行,然后出现错误(请参阅下面的示例)。
我不确定这是为什么。它似乎是一个临时版本的输出存储在某处,错误是对此的反应,但我从来没有遇到过这样的事情。任何帮助理解它并绕过它(除了新列的明显重命名)将不胜感激。
谢谢!
myString <- 'Added = V1 + V3'
transmute_(myDF,myString)
Error: invalid (do_set) left-hand side to assignment
myString2 <- 'Added = V1 + V3'
transmute_(myDF,myString2)
Error: invalid (do_set) left-hand side to assignment
myString2 <- 'Added_2 = V1 + V3'
transmute_(myDF,myString2)
Added_2 = V1 + V3
1 2
2 4
3 6
4 8