我有一个ggplot命令
ggplot( rates.by.groups, aes(x=name, y=rate, colour=majr, group=majr) )
Run Code Online (Sandbox Code Playgroud)
在一个函数内部.但我希望能够使用该函数的参数来挑选要用作颜色和组的列.即我想要这样的东西
f <- function( column ) {
...
ggplot( rates.by.groups, aes(x=name, y=rate, colour= ??? , group=??? ) )
}
Run Code Online (Sandbox Code Playgroud)
因此ggplot中使用的列由参数确定.例如对于f("majr")我们得到了效果
ggplot( rates.by.groups, aes(x=name, y=rate, colour=majr, group=majr) )
Run Code Online (Sandbox Code Playgroud)
但对于f("性别"),我们得到了效果
ggplot( rates.by.groups, aes(x=name, y=rate, colour=gender, group=gender) )
Run Code Online (Sandbox Code Playgroud)
我试过的一些事情:
ggplot( rates.by.groups, aes(x=name, y=rate, colour= columnName , group=columnName ) )
Run Code Online (Sandbox Code Playgroud)
不工作.也没有
e <- environment()
ggplot( rates.by.groups, aes(x=name, y=rate, colour= columnName , group=columnName ), environment=e )
Run Code Online (Sandbox Code Playgroud) 我想使用ggplot循环遍历多个列以创建多个绘图,但在for循环中使用占位符会更改ggplot的行为.
如果我有这个:
t <- data.frame(w = c(1, 2, 3, 4), x = c(23,45,23, 34),
y = c(23,34,54, 23), z = c(23,12,54, 32))
Run Code Online (Sandbox Code Playgroud)
这很好用:
ggplot(data=t, aes(w, x)) + geom_line()
Run Code Online (Sandbox Code Playgroud)
但这不是:
i <- 'x'
ggplot(data=t, aes(w, i)) + geom_line()
Run Code Online (Sandbox Code Playgroud)
如果我想最终遍历x,y和z,那么这是一个问题.有帮助吗?