【R实验.6】基本统计分析

解法并不单一,下列方法带有璇子个人的偏好,因此仅供参考。如有错误,欢迎在评论区斧正!

6.1 某单位对100 名女生测定血清总蛋白含量((g/L)),数据如下
在这里插入图片描述
计算均值、方差、标准差、极差、标准误、变异系数、偏度、峰度。

> x=c(74.3,78.870.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)

在这里插入图片描述

  • 5
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值