【发布时间】:2018-08-02 16:47:01
【问题描述】:
不起作用:
mydat <- data.frame(`Col 1`=1:5, `Col 2`=1:5, check.names=F)
xcol <- "Col 1"
ycol <- "Col 2"
ggplot(data=mydat, aes_string(x=xcol, y=ycol)) + geom_point()
作品:
mydat <- data.frame(`A`=1:5, `B`=1:5)
xcol <- "A"
ycol <- "B"
ggplot(data=mydat, aes_string(x=xcol, y=ycol)) + geom_point()
有效。
mydat <- data.frame(`Col 1`=1:5, `Col 2`=1:5, check.names=F)
ggplot(data=mydat, aes(x=`Col 1`, y=`Col 2`)) + geom_point()
有什么问题?
【问题讨论】:
-
aes_string的文档表明 1. 奇怪命名的列并不总是能正常工作(参见倒数第二组示例),以及 2.aes_string和aes_正在被弃用赞成 tidyeval -
@camille 谢谢,你有解释 tidyeval 的链接吗?
-
当然,这是一个:colinfay.me/tidyeval-1
-
另外,看到this post 的答案很有趣,因为有一些是在 tidyeval 在 ggplot 中实现之前,还有一些是在实现后