R实验.6基本统计分析
Posted 是璇子鸭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R实验.6基本统计分析相关的知识,希望对你有一定的参考价值。
解法并不单一,下列方法带有璇子个人的偏好,因此仅供参考。如有错误,欢迎在评论区斧正!
6.1 某单位对100 名女生测定血清总蛋白含量((g/L)),数据如下
计算均值、方差、标准差、极差、标准误、变异系数、偏度、峰度。
> x=c(74.3,78.8…70.4)#数据量较大,为排版在此省略
> library(pastecs)
> stat.desc(x)
由上述运算结果:
均值:73.668; 方差:15.5151273; 标准差:3.9389246
极差:20; 标准误:0.3938925; 变异系数:0.0534686;
对峰度和偏度的计算:
> mystats <- function(x, na.omit=FALSE){
+ if (na.omit)
+ x <- x[!is.na(x)]
+ m <- mean(x)
+ n <- length(x)
+ s <- sd(x)
+ skew <- sum((x-m)^3/s^3)/n
+ kurt <- sum((x-m)^4/s^4)/n - 3
+ return(c(n=n, mean=m, stdev=s, skew=skew, kurtosis=kurt))
+ }
> data <- data.frame(x)
> sapply(data,mystats)
x
n 100.00000000
mean 73.66800000
stdev 3.93892463
skew 0.05244833 #偏度
kurtosis -0.08342708 #峰度
6.2 绘出习题6.1 的直方图、密度估计曲线、经验分布图和qq 图,并将密度估计曲线与正态密度曲线相比较,将经验分布曲线与正态分布曲线相比较(其中正态曲线的均值和标准差取习题6.1 计算出的值)
> par(mfrow=c(2,2))
#直方图(纵轴为频率)
> hist(x, breaks=10,freq=FALSE,col="red",xlab="血清总蛋白含量",main="Colored histogram with 10 bins")
#密度估计曲线
> lines (density(x), col ='blue' , lwd =2)
> par(mfrow=c(2,2))
#正态密度曲线
> h<-hist(x, breaks = 10 , col="red", xlab="血清总蛋白含量" ,main="Histogram with normal curve and box")
> xfit <- seq(min(x), max(x), length=40)
> yfit<-dnorm(xfit, mean=mean(x), sd=sd(x))
> yfit <- yfit*diff(h$mids[1:2])*length(x)
> lines (xfit, yfit, col="yellow", lwd =2)
> box()
#qq图
> qqnorm(x)
> #经验分布图
> fnx <- ecdf(x)
> library(graphics)
> plot(fnx,verticals=T)#添加垂直线
6.3 绘出习题6.1 的茎叶图、箱线图,并计算五数总括。
> stem(x)#茎叶图
The decimal point is at the |
64 | 300
66 | 23333
68 | 00888777
70 | 344444442222
72 | 0000000777777555555555555
74 | 33333333700000004688888
76 | 5555555226
78 | 0888555
80 | 355266
82 |
84 | 3
> boxplot(x,main='Box plot')#箱线图
> fivenum(x)#五数总括
[1] 64.3 71.2 73.5 75.8 84.3
6.4 小白鼠在接种了3 种不同菌型的伤寒杆菌后的存活天数如表6-1 所示,试绘出数据的箱线图(采用两种方法,一种是plot 语句,另一种是boxplot 语句)来判断小白鼠被注射三种菌型后的平均存活天数有无显著差异?
> par(mfrow=c(2,2))
> data <- c(2,4,3,2,4,7,7,2,2,5,4,5,6,8,5,10,7,12,12,6,6,7,11,6,6,7,9,5,5,10,6,3,10)
#方法一
> class <- factor(c(rep(1,11),rep(2,10),rep(3,12)))
> plot(class,data,xlab='class',ylab='survival days')
#方法二
> a <- c(2,4,3,2,4,7,7,2,2,5,4)
> b <- c(5,6,8,5,10,7,12,12,6,6)
> c <- c(7,11,6,6,7,9,5,5,10,6,3,10)
> boxplot(a,b,c)
由图可知,小鼠接种2、3菌型后的平均存活天数无显著差异,而接种菌型1小鼠的平均存活天数则明显比另外两组的天数低。
6.5 某校测得19 名学生的四项指标,性别、年龄、身高(cm)和 体重(磅),具体数据由表6-2 所示.
(1)试绘出体重对于身高的散点图;
数据录入:
data <- read.table('6-2.txt',header = T)
h <- data$身高
w <- data$体重
age <- factor(data$年龄)
sex <- factor(data$性别)
绘图:
> plot(h,w)
(2)绘出不同性别情况下,体重与身高的散点图;
> library(ggplot2)
> ggplot(data,aes(h,w,shape=sex))+geom_point()
(3)绘出不同年龄段的体重和身高的散点图;
> ggplot(data,aes(h,w,shape=age))+geom_point()
(4)分不同性别和不同年龄段的体重与身高的散点图。
> coplot(w~h|age+sex)
以上是关于R实验.6基本统计分析的主要内容,如果未能解决你的问题,请参考以下文章