Fu

数据整理

安装和打开相应的逻辑包

library(openxlsx)
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.5.1     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.1
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(aplpack)
library(TeachingDemos)

Attaching package: 'TeachingDemos'

The following objects are masked from 'package:aplpack':

    faces, slider
library(fmsb)
library(ggiraphExtra)
source("C:/Users/Lenovo/Desktop/R语言/chapter 3/msaR.R")

data=read.xlsx('C:/Users/Lenovo/Desktop/R语言/chapter 3/mvstats5.xlsx','d3.1',rowNames=T)

各省消费项目均值条形图

2个图都是按行做均值条形图;第一个图由于省份较多,不能显示全部省会名称;第二个图横轴逆时针旋转90度,可以显示全部省会名称

barplot(apply(data,1,mean))#按行做均值条形图

barplot(apply(data,1,mean),las=3)#按行做均值条形图

前三幅图是按列做均值条形图,第四幅图是按列做中位数条形图;第二和第四幅图给每列加了颜色;第三幅图去掉了食品消费

barplot(apply(data,2,mean))#按列做均值图条形图

barplot(apply(data,2,mean),col=1:8) #按列做彩色均值图条形图

barplot(apply(data[,2:8],2,mean))#去掉第一列后的数据按列做均值条形图

barplot(apply(data,2,median),col=1:8)  #按列取色

各消费项目箱线图

默认每个变量(列)作一个箱线,并将全部变量的箱线在同一个图中展示。两幅图的区别是图形放置方式不同,x轴与y轴交换

boxplot(data)#按列做箱线图

boxplot(data,horizontal=T,las=1)#箱线图中图形按水平放置

各消费项目星相图

第一幅图没有标注图例,因此不知道具体的消费项目;

第二幅图有标注图例,可以知道各个省份的各个消费项目的大概比重;

第三幅图将星象图的整圆变为半圆,并附有图例

stars(data)                #不具有图例的360度星相图

stars(data,key.loc=c(17,7))                #具有图例的360度星相图

stars(data,full=F,key.loc=c(17,7)) 

给整圆星象图和半圆星象图的各个消费项目注上不同的颜色

stars(data,draw.segments=T,key.loc=c(17,7))#具有图例的360度彩色圆形星相图

stars(data,full=F,draw.segments=T,key.loc=c(17,7))#具有图例的180度彩色圆形星相图

各消费项目脸谱图

第二幅图去掉食品消费项目,并按每行7个省份显示;

第三幅图只显示北京、上海、广东、甘肃、青海、宁夏的脸谱图

library(aplpack) #加载aplpack包
faces(data)

faces(data[,2:8],ncol = 7)#去掉第一个变量按每行7个做脸谱图

faces(data[c(1,9,19,28,29,30),])#选择第1,9,19,28,29,30个观测的多元数据做脸谱图

第二种类型的脸谱图,并按一行7个省份来显示

library("TeachingDemos") #install.packages("TeachingDemos")
faces2(data,ncols=7) #TeachingDemos::faces(d3.1)

各消费项目调和曲线图

第二幅图只选择北京、上海、广州、甘肃、青海、宁夏做调和曲线图

source("C:/Users/Lenovo/Desktop/R语言/chapter 3/msaR.R")#加自定义函数
msa.andrews(data)#绘制调和曲线图

msa.andrews(data[c(1,9,19,28,29,30),])

第一个多元数据调和曲线图是所有省份的;第二个多元数据调和曲线图是只有北京、上海、广州、甘肃、青海、宁夏的

library(andrews) 
See the package vignette with `vignette("andrews")`
andrews(data,clr=5,ymax=6)

#选择第1,9,19,28,29,30个观测的多元数据做调和曲线图
andrews(data[c(1,9,19,28,29,30),],clr=5,ymax=6) 

各消费项目雷达图

选择北京、上海、广州、甘肃、青海、宁夏的数据。做这六个省份各个消费项目的雷达图

library("fmsb")
rddat=data[c(1,9,19,28,29,30),]
maxmin=rbind(apply(rddat,2,max),apply(rddat,2,min))
rddat=rbind(maxmin,rddat)
radarchart(rddat, axistype=2, pcol=topo.colors(6), plty=1, pdensity=seq(5,40,by=5), pangle=seq(0,150,by=30), pfcol=topo.colors(6))

The echo: false option disables the printing of code (only output is displayed).