设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2199|回复: 2
打印 上一主题 下一主题

[其它] R语言图表入门之二:牛刀小试见奇锋

[复制链接]
跳转到指定楼层
1#
发表于 2018-12-7 18:15:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
配置完之后,接下来,我们先安装ggplot2包,命令很简单:启动RStudio,在console界面(左下角)输入:
install.packages('ggplot2')
按下enter则自动下载安装包了。

安装完毕后,把以下命令输入
  1. library(ggplot2)
  2. x <-c('26-30', '31-35', '36-40', '41-45', '46-50', '51-60')
  3. y0<-c(5, 12, 8, 7, 5, 1)
  4. y1<-c(-10, -11, -13, -5, -1, -2)
  5. df<-rbind(data.frame(x,y=y0,type='y0'),data.frame(x,y=y1,type='y1'))
  6. ggplot(df,aes(x,y,group=type,fill=type))+geom_bar(stat = 'identity')
复制代码

同样按下enter。如果不出意外的话,应该会在右侧看到这么一副图像:

至此,第一个图像就完成了。接下来,我们开始来解释下这一节的语法:
library(ggplot2)#加载包(前提是必须安装了,否则会出错)x <-c('26-30', '31-35', '36-40', '41-45', '46-50', '51-60')
y0<-c(5, 12, 8, 7, 5, 1)
y1<-c(-10, -11, -13, -5, -1, -2)
#定义x标签数据。y0和y1数据。这里大家也可以看到了。定义变量,用的表达式是“<-”,也可以用“=”来表示。不过我习惯用这个,感觉这个更形象一些。c表示的是一个类似于一维数组(即获取一列数据)。
df<-rbind(data.frame(x,y=y0,type='y0'),data.frame(x,y=y1,type='y1'))
#rbind用于行合并。相当于把:
x         y    type
26-30  5    y0         
31-35  12  y0
……………

x         y    type
26-30  -10  y1
31-35  -11  y1
……………



合并成:
x         y    type
26-30  5    y0         
31-35  12  y0
……………

26-30  -10  y1
31-35  -11  y1
……………

得到一个3×12的表

ggplot(df,aes(x,y,group=type,fill=type))+geom_bar(stat = 'identity')
#参数
df——数据集
aes部分,x和y=x轴和y轴数据,group表示分组,前面创建了一个type列,这时候就派上用场了。表示用type来分组(相当于Excel的系列)。fill则是表示填充色,这里同样是用的type。也就是说,会根据y0和y1分别填充不同的颜色。
画布算是处理好了。接下来就是展示出来
geom_bar(stat = 'identity')
geom_bar表示展示的图表为条形图(柱状图怎么办?转90°。这将在后面讲解)。stat部分用的参数是identity,表示只是显示实际数据。如果改为count,则将按类型计算。这时候就会得到类似于直方图的效果。
最后,导出图片即可:

自此,第一个图表生成。
R语言图表入门之一:安装和配置

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2018-12-7 19:14:40 来自手机 | 只看该作者
roych 发表于 2018-12-7 18:15
配置完之后,接下来,我们先安装ggplot2包,命令很简单:启动RStudio,在console界面(左下角)输入:
ins ...

赞一个。。。不错啊!
来自: 微社区

点击这里给我发消息

3#
发表于 2019-5-1 23:24:27 | 只看该作者
赞一个,谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-1 20:28 , Processed in 0.090168 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表