[问题] 利用循环画图 ggplot2

楼主: k97231 (AL)   2018-10-05 12:43:07
我有好几个data frame
这些data frame 都有一些名字相同的column
ex
df1
v1 v2 v3 v5 ...
0 1 2 5
.. .. .. ..
df2
v1 v2 v4 v6 ...
0 1 2 5
.. .. .. ..
而我想根据这些相同的column画图 不同column一张
所以我先用 找到有交集的column
然后将这些焦急带入循环中
a=intersect(colnames(df1),colnames(df2))
$a
>"v1","v2"
for ( col in a) {
g=ggplot()
g+geom_density(data=df1,aes(x=a)+
geom_density(data=df2,aes(x=a)
}
但每次执行此循环都不会出现任何图
但若事先指定a="v1"时
不执行循环时
并只执行画图的指令
就可以画出正确的图
想问如果要用循环画图要怎么修改循环呢??
作者: andrew43 (讨厌有好心推文后删文者)   2018-10-05 12:57:00
完整的ggplot物件需要被print()才行。简单说你的g+geom_....整段要用print包起来
作者: F0011010101 (法客)   2018-10-05 14:56:00
你循环里没用到col啊
作者: evallen (小罗)   2018-10-11 08:33:00
Png();print(g);dev.off()
作者: p2p8ppp (给我钱)   2017-05-02 22:43:00
aes_string(x = col)

Links booklink

Contact Us: admin [ a t ] ucptt.com