全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
8768 6
2016-03-15
想根据ggplot画折线图。

已知有以下的数据框,大致长的如下所示。

复制代码



我想根据每一个行业画一个折线图,建了一个indice,包括上述数据的数据列名,然后准备写个循环如下:

复制代码
但是这样并不可行。我个人目前理解,因为ggplot里aes的y = 这个取值是直接用的列名,不带引号。比如,
复制代码
是可以的。但是在上述循环里,i 其实是”生物医药“,有引号?

如何解决这个问题呢?




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-3-15 21:35:10
你把数据框reshape一下,变成long格式,然后再用ggplot2作图
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-3-16 00:56:07
SelNames <- names(df)

lapply(SelNames, function(cn) {
    ggplot(df, aes_string(x=cn.....)...)
})
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-3-16 17:55:03
stzhao 发表于 2016-3-15 21:35
你把数据框reshape一下,变成long格式,然后再用ggplot2作图
谢谢。后来发现将aes参数替换为aes_string就好了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-3-16 17:57:25
ck9532 发表于 2016-3-16 00:56
SelNames
对,就是使用aes_string,
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-8-19 23:47:21
刚好碰到同样的问题,学习了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群