Han*_*nbo 4 visualization r ggplot2
我有一个功能:
vis = function(df, x){
p1 <- ggplot(df, aes(x)) + geom_line(aes(y = v2))
p1
}
Run Code Online (Sandbox Code Playgroud)
我有一个数据框:
df = data.frame(v0 = c(1,2,3), v1 = c(2,3,4), v2 = c(3,4,5))
Run Code Online (Sandbox Code Playgroud)
我想生成图:(1)v2 vs v0,(2)v2 vs v1。
所以我尝试了:
vis(df, v0) // not work
vis(df, v1) // not work
vis(df, "v0") // not work
vis(df, "v1") // not work
Run Code Online (Sandbox Code Playgroud)
非常感谢任何想法!
使用quo_name和的另一种方法aes_string。这不需要开发版本ggplot2:
library(ggplot2)
library(rlang)
vis = function(df, x){
x <- enquo(x)
ggplot(df, aes_string(quo_name(x))) + geom_line(aes(y = v2))
}
vis(df, v0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |