R语言,给出一个Excel路径为D:/rdata/习题3.1.xlsx,Excel中为对服务质量的等级评价使用R语言1.制作频数分布表,2.绘制条形图,反映评价等级的分布3.绘制评价等级的帕累托图。求上述代码
时间: 2024-05-12 17:21:01 浏览: 161
首先需要安装并加载readxl包,用于读取Excel文件。
1. 制作频数分布表:
```R
library(readxl) # 加载readxl包
data <- read_excel("D:/rdata/习题3.1.xlsx") # 读取Excel文件
freq_table <- table(data$评价等级) # 制作频数分布表
freq_table
```
2. 绘制条形图:
```R
barplot(freq_table, main="服务质量评价等级分布", xlab="评价等级", ylab="频数")
```
3. 绘制帕累托图:
```R
par(mar=c(5,5,2,5)) # 调整绘图边距
cum_freq <- cumsum(sort(freq_table, decreasing=T)) # 计算累计频数
par(fig=c(0,0.8,0,0.8), new=T) # 设置画布
barplot(freq_table, main="服务质量评价等级分布", xlab="评价等级", ylab="频数")
par(new=T) # 在同一画布上绘制另一个图形
plot(cum_freq/sum(freq_table)*100, type="o", col="blue", xaxt="n", yaxt="n", xlab="", ylab="", lwd=2) # 绘制帕累托图
axis(4, at=seq(0,100,by=20), las=1, tck=-0.5, col.axis="blue", cex.axis=0.8) # 添加右侧y轴
mtext("帕累托图", side=3, line=-2.5, cex=1.5) # 添加图标题
legend("topright", c("频数", "累计频率"), cex=0.8, fill=c("white", "blue")) # 添加图例
```
说明:
- read_excel()函数用于读取Excel文件,参数为Excel文件路径。
- table()函数用于制作频数分布表,参数为需要制作频数分布表的变量。
- barplot()函数用于绘制条形图,参数为频数分布表,main用于设置图标题,xlab用于设置x轴标签,ylab用于设置y轴标签。
- cumsum()函数用于计算累计频数,sort()函数用于对频数进行降序排序,参数decreasing=T表示降序。
- par()函数用于设置绘图参数,mar参数用于设置边距,fig参数用于控制绘图区域,new参数用于在同一画布上绘制另一个图形。
- plot()函数用于绘制帕累托图,type="o"表示绘制折线图,col="blue"表示线条颜色为蓝色,xaxt="n"表示不绘制x轴,yaxt="n"表示不绘制y轴,xlab=""和ylab=""表示不显示x轴和y轴标签,lwd=2表示线条宽度为2。
- axis()函数用于添加右侧y轴,参数4表示添加y轴在右侧,at参数用于设置刻度位置,las参数用于设置刻度标签方向,tck参数用于设置刻度线长度,col.axis参数用于设置刻度标签颜色,cex.axis参数用于设置刻度标签大小。
- mtext()函数用于添加图标题,side参数用于设置标题位置,line参数用于设置标题与图形的距离,cex参数用于设置标题大小。
- legend()函数用于添加图例,参数"topright"表示图例位置在右上方,c()表示图例标签,fill表示图例填充颜色。
阅读全文