作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定一个数据帧和一个包含要在列上执行的操作的字符串:
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
更改输入字符串的列名称仍然会产生相同的错误,并且将相同的字符串存储在不同的变量中也会出现同样的错误。但是,如果我更改新的列名称,它会第一次再次工作,然后出现错误(请参阅下面的示例)。
我不知道为什么会这样。似乎输出的临时版本存储在某处,错误是对此的 react ,但我以前从未遇到过类似的情况。任何有助于理解它并解决它的帮助(除了新列的明显重命名之外)将不胜感激。
谢谢!
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
最佳答案
mutate_
也有同样的问题,但查看代码是因为 transmute_ 调用了 mutate_。这在 dplyr 中并不是一个严重的错误,但在 dplyr github 页面上提出了一个问题。请参阅github issue 315 。
运行transmute_(myDF,myString)
后,您可以看到Added
在基础环境中可用。只需键入它(或base::Added
),您就会看到该对象和已创建的值。当您再次调用代码行时,这会导致问题。
有关更多详细信息,请阅读 github issue 315 上的评论作者:罗曼·弗朗索瓦和哈德利·威克姆
关于r dplyr transmute_字符串输入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40642344/
我是一名优秀的程序员,十分优秀!