以作业为例
要求:Copy and Paste Your R Output From the R Script (or the output of Excel)
步骤:
首先打开RStudio,输入以下代码,目的是导入数据
v <- c(27, 27, 27, 28, 27, 25, 25, 28, 26, 28, 26, 28, 31, 30, 26, 26)
其中
- v 是包含直方图中使用的数值的向量
- c() 是R语言中建立一个向量的函数
然后使用 hist() 函数创建直方图
使用R语言创建直方图的基本语法是
hist(v, freq, main, xlab, ylab, xlim, ylim, breaks, col, border)
其中
- v 是引用的上述向量
- freq 设置直方图y轴时表示频数还是概率密度,TRUE表示频数,FALSE表示概率密度,默认为TRUE
- main 设置直方图的标题
- xlab, ylab 分别表示x轴和y轴的描述
- xlim, ylim 分别指定x轴和y轴上值的范围
- break 用于提及每个间隔 (interval) 的宽度
- border用于设置每个间隔边框的颜色
- col 用来设置每个间隔的颜色
输入以下代码,构建直方图:
hist (v, freq = TRUE, breaks = seq(24, 31.5, by = 1.5), main = "histogram", xlab = "units", ylab = "frequency", col = "yellow",border = "blue")
其中
- breaks 是是建议的分组组数,但R不一定会用!!!(它不听话)
如果要精准设置,可以使用以下方法:
breaks = seq(1, 6, by = 1) #设置分组为(1,2) (2,3)...(5,6)
就是从1到6,间隔为1
此处 by = 可以舍去
运行代码
v <- c(27,27,27,28,27,25,25,28,26,28,26,28,31,30,26,26)
hist (v, freq = TRUE, breaks = seq(24, 31.5, by = 1.5), main = "histogram", xlab = "units", ylab = "frequency", col = "yellow", border = "blue")
得到结果图
至于为什么x轴最右侧31.5取不到的原因,我个人猜测是因为这个绘图不能精确到小数点后一位,由于懒,就没有再细究,欢迎朋友们指正批评。