Office中国论坛/Access中国论坛

标题: R语言图表入门之二:牛刀小试见奇锋 [打印本页]

作者: roych    时间: 2018-12-7 18:15
标题: R语言图表入门之二:牛刀小试见奇锋
配置完之后,接下来,我们先安装ggplot2包,命令很简单:启动RStudio,在console界面(左下角)输入:
install.packages('ggplot2')
按下enter则自动下载安装包了。
[attach]63124[/attach]
安装完毕后,把以下命令输入
  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')
复制代码
[attach]63125[/attach]
同样按下enter。如果不出意外的话,应该会在右侧看到这么一副图像:
[attach]63126[/attach]
至此,第一个图像就完成了。接下来,我们开始来解释下这一节的语法:
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,则将按类型计算。这时候就会得到类似于直方图的效果。
最后,导出图片即可:
[attach]63127[/attach]
自此,第一个图表生成。
R语言图表入门之一:安装和配置

作者: zpy2    时间: 2018-12-7 19:14
roych 发表于 2018-12-7 18:15
配置完之后,接下来,我们先安装ggplot2包,命令很简单:启动RStudio,在console界面(左下角)输入:
ins ...

赞一个。。。不错啊!
作者: boon    时间: 2019-5-1 23:24
赞一个,谢谢分享




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3