一个关于 R作直方图的小例子
发布日期:2021-10-16 07:12:18 浏览次数:7 分类:技术文章

本文共 1211 字,大约阅读时间需要 4 分钟。

一个关于 R作直方图的小例子  

2010-04-27 19:31:36 分类: |举报|字号 订阅



首先是一串很简单的数据,有30个元素:

105 
93 
80 109 112 
88 
98 100 116 119 
95 
97 
96 107 
89 
80 
81 
69 
85 
86 
88 
90 
91 
86 
81 
86 
88 
82 
95 108


把它逐行打到一个TXT文件中去,命名为ex1.txt,保存在目录E:\Da
ta下面。

然后打开R,

输入代码  
setwd=("E:/Data")   

setwd()函数的作用是指定工作目录,这样以后进行文件读写的时候就可以直接引用工作目录下的文件名,而不用加上路径了。输入getwd()可以查看当前R的工作目录。

这里有个细节要注意,就是路径的分隔符一定要打斜杠/,不能按照WINDOWS里面的方式打反斜杠\,否则R会报错。


然后在R的控制台里继续输入  
c<-scan("ex1.txt")

scan()是读取文件的函数,一般用来读按行贮存的数据的,返回值是一串向量。这里我们把ex1.txt里的数据赋给了变量c,赋值号是<-。


然后可以对向量c作直方图,
hist(c)

输出结果就是这样:


hist()这个函数有很多参数的,这里介绍下breaks的用处先。

hist(c,breaks=seq(70,130,6))

breaks的作用就是规定直方图绘制时的单元格区间,seq(70,130,6)的意思是构建一组从70到130,公差为6的等差数列。

注意:有时候R会报错说breaks没有跨距整个'x'的范围,那是因为seq的计算方式决定的,例如seq(1,5,3)返回的是向量(1,4)而不是向量(1,4,7),避免这个问题的方法在于有时候把总区间规定的大些就行了。

效果如下:


然后问题就出现了,图中的坐标轴上的数值貌似是R自动分配的,也就是说hist()函数中我找不到任何的参数来改变坐标轴上的数字。于是我们只能借助于R中低位作图命令(low-level plotting commands),低位作图作用于已有图形之上。


首先要不显示x轴和y轴的数值

输入
hist(c,breaks=seq(70,130,6),xaxt="n",yaxt="n")


然后利用axis()重新绘制两条坐标轴:


axis(side=1,at=seq(70,130,6))
axis(side=2,at=seq(0,8,1))


其中参数side规定了绘制方向,1为x轴,2为y轴。

参数at则定义了坐标轴的数值,一般用向量表示。

其余的参数请自行查阅help。

最终效果如下



此外,hist()函数中的main参数可以修改直方图的标题,xlab和ylab可以修改坐标轴的描述。更多的自行查看帮助文档。个人觉得R-2.8.1的帮助文档做的超级到位,遇到不熟悉的函数输入?加函数名即可。例如?hist。

转载地址:https://blog.csdn.net/sjpljr/article/details/70168863 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:[zz]ggplot2绘图入门系列之…
下一篇:[转贴]R与SAS、SPSS之比较

发表评论

最新留言

很好
[***.229.124.182]2024年04月21日 12时22分27秒