[R] 方差分析

# 方差分析

---

## title: "方差分析"

author: "张明旭"
date: "`r Sys.Date()`"
output: html_document
editor_options:
chunk_output_type: console

```Plain Text
knitr::opts_chunk$set(echo = TRUE)
#读取数据
library(readxl)
#输出数据包
library(do)
#作图分析包
library(gplots)
library(ggplot2)
#方差分析包
library(multcomp)
library(lmPerm)

```


#不同市面积

```Plain Text
data <- read_xlsx("内蒙古统计表.xlsx",3)
#name <- rep(ddzmj2$省简称.Var1)
#name <- factor(name, levels = #c("冀","晋","蒙","辽","吉","黑","苏","浙","皖","闽","赣","鲁","豫","鄂","湘","粤","桂","琼","渝","川","贵","云","藏","陕","甘","青","宁","新"))

# 正态检验(所有的点都离直线很近,落在置信区间内说明正态性良好)
library(car)
qqPlot(lm(data$`本年度在地面积(亩)`~data$市,data=data), simulate = TRUE, main = 'QQ Plot', labels = FALSE)

# 方差齐性检验(用 Bartlett 检验进行方差齐性检验(p 值大于 0.05 说明方差齐整))
bartlett.test(data$`本年度在地面积(亩)`~data$市,data=data)

#方差检验
fit<-aov(data$`本年度在地面积(亩)`~data$市,data=data)
summary(fit)

##查看各组均值及标准差
data_mean <- aggregate(data$`本年度在地面积(亩)`, by = list(data$市), FUN = mean)
data_mean
data_sd <- aggregate(data$`本年度在地面积(亩)`, by = list(data$市), FUN = sd)
data_sd

# ##方差分析后,多重比较,继续探寻两两分组间的差异
#Tukey HSD 检验
tuk <- TukeyHSD(fit, conf.level = 0.95)
tuk
plot(tuk)

#置信区间图片
png("内蒙古按市方差分析.png",width = 3600,height=1800,pointsize = 14,res=300)
par(mar=c(3,5,2,2))
plotmeans(data$`本年度在地面积(亩)`~data$市,xlab = "",ylab="种植面积(万亩)",cex.axis=0.9,cex.lab=1.2,n.label=F)
dev.off()

```


#不同药材在不同地区

```Plain Text
data1 <- read_xlsx("内蒙古统计表.xlsx",4)

#name <- rep(ddzmj2$省简称.Var1)
#name <- factor(name, levels = #c("冀","晋","蒙","辽","吉","黑","苏","浙","皖","闽","赣","鲁","豫","鄂","湘","粤","桂","琼","渝","川","贵","云","藏","陕","甘","青","宁","新"))

# 正态检验(所有的点都离直线很近,落在置信区间内说明正态性良好)
library(car)
qqPlot(lm(data1$`本年度在地面积(亩)`~data1$药材名,data=data1), simulate = TRUE, main = 'QQ Plot', labels = FALSE)

# 方差齐性检验(用 Bartlett 检验进行方差齐性检验(p 值大于 0.05 说明方差齐整))
bartlett.test(data1$`本年度在地面积(亩)`~data1$药材名,data=data1)

#方差检验
fit<-aov(data1$`本年度在地面积(亩)`~data1$药材名,data=data1)
summary(fit)

##查看各组均值及标准差
data_mean <- aggregate(data1$`本年度在地面积(亩)`, by = list(data1$药材名), FUN = mean)
data_mean
data_sd <- aggregate(data1$`本年度在地面积(亩)`, by = list(data1$药材名), FUN = sd)
data_sd

# ##方差分析后,多重比较,继续探寻两两分组间的差异
#Tukey HSD 检验
tuk <- TukeyHSD(fit, conf.level = 0.95)
tuk
plot(tuk)

#置信区间图片
png("内蒙古按市方差分析.png",width = 3600,height=1800,pointsize = 14,res=300)
par(mar=c(3,5,2,2))
plotmeans(data1$`本年度在地面积(亩)`~data1$药材名,xlab = "",ylab="种植面积(万亩)",cex.axis=0.9,cex.lab=1.2,n.label=F)
dev.off()

```


Posted in R

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注