R实验 数据的描述性分析(二)

  • 实验目的:
  1. 掌握定量数据的描述性统计分析中常用的指标
    1. 集中趋势:众数、中位数median()、四分位数、百分位数quantile()、(加权)平均数(weigthted.)mean()
    2. 分散程度:极差range()、半极差、方差var()、标准差sd()、变异系数、标准误
    3. 分布形态:偏度系数、峰度系数
  2. 掌握R语言绘直方图、茎叶图和箱线图的方法。

实验内容:

以前在做实验2的练习时,我们画过直方图。当时的题目是这样的:

利用hist()函数画直方图。

X<-c(35,40,40,42,37,45,43,37,44,42,41,39)

hist(X)

这次实验先重新运行以上命令后,接着运行以下命令绘出第二幅直方图:

hist(X, freq=F)

如果在RStudio中运行,第二幅图不会覆盖前一幅图,可以通过界面中的箭头按钮图标找到之前绘制的图;但如果在R中绘制第二幅图,会覆盖前一幅图,这时可以在绘制第二幅图时在R中先运行windows(),此命令是新开一个画图窗口,然后再绘制第二幅图。

把两个图分别截下复制到下面,进行比较,你发现有什么不同?

第一幅图纵坐标表示的是频数

第二幅图纵坐标表示的是密度

如果想把这两幅图画在同一个画图窗口中,可以输入以下命令:

par(mfrow=c(1,2)) #在一个窗口里放多张图,这里是1行2列共2个图

hist(X)

hist(X,freq=F)

运行结果或截图:

(习题3.7)画出习题3.3中小鸡增重的直方图 (1) 小区间的宽度为 0.lg,起点为 3.55g,终点为4.95g。纵坐标是频数,并将频数标在直方图的上方(类似图 3.6(a)); (2) 将(1)中直方图的纵坐标改为频率,并将数据的概率密度曲线和正态分布密度曲线同时画在直方图上(类似图 3.6(b))。(数据文件是cock.data)

(1)源代码:

# 读取数据

data <- scan("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/cock.data")



# 输出结果

hist(data,labels = TRUE,

     breaks = seq(3.55,4.95,by = 0.1),

     main = "小鸡增重直方图",

     xlab = "增重g",

     ylab = "频数")

运行结果或截图:

(2)源代码:

# 读取数据

data <- scan("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/cock.data")

# 计算各个区间的频数和频率

freq <- table(cut(data, breaks = seq(3.55, 4.95, by = 0.1)))

prop.freq <- prop.table(freq)

# 计算均值和标准差

mean_data <- mean(data)

sd_data <- sd(data)

# 计算数据的最小值和最大值

min_data <- min(data)

max_data <- max(data)

# 计算正态分布密度曲线的x轴和y轴

x <- seq(min_data, max_data, length = 100)

y <- dnorm(x, mean = mean_data, sd = sd_data)

# 输出结果

hist(data,freq = FALSE,

     labels = TRUE,

     breaks = seq(3.55,4.95,by = 0.1),

     main = "小鸡增重直方图",

     xlab = "增重g",

     ylab = "频率")



lines(x, y, col = "blue", lwd = 3)

lines(density(data), col = "red", lwd = 2)

运行结果或截图:

(习题3.11)计算习题3.3中小鸡增重数据的中位数、算术平均数,以及上四分位数和下四分数。

源代码:

# 读取数据

data <- scan("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/cock.data")

# 计算中位数、算术平均数、上四分位、下四分位数

median(data,na.rm = FALSE)

mean(data,trim = 0,na.rm = FALSE)

quantile(data,probs = 0.25,

         na.rm = FALSE)

quantile(data,probs = 0.75,

         na.rm = FALSE)

运行结果或截图:

(习题3.16)计算习题3.3中小鸡增重数据的极差、四分位差、方差和标准差。

源代码:

# 读取数据

data <- scan("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/cock.data")

# 计算极差、四分位差、方差、标准差

R<-range(data)

R[2] - R[1]



Q<-quantile(data,p = c(0.25,0.75))

IQR <-Q[2] - Q[1]

IQR



var(data);sd(data)

运行结果或截图:

(习题3.18)计算习题3.3中小鸡增重数据的偏度系数和峰度系数。结合习题3.7中的直方图,理解偏度系数和峰度系数的意义。

源代码:

# 读取数据

data <- scan("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/cock.data")

# 计算偏度系数、峰度系数

source("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/skew.R")

skew(data)



source("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/kurt.R")

kurt(data)

运行结果或截图:

(习题3.9)计算习题 3.1中饮料数据的众数。

源代码:

# 读取数据

data <- scan("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/drink.data",

             what = list(顾客性别 = "",饮料类型 = ""))



# 计算众数

which.max(table(data$饮料类型))

max(table(data$饮料类型))

运行结果或截图:

(习题3.13)2015 年某大学经济管理学院共有学生 500 名,其中 18 岁的学生 110 名,19 岁的学生110 名,20 岁的学生 100 名,21 岁的学生 90 名,22 岁的学生 90 名。计算该学院学生的平均年龄。

源代码:

# 建立数据

num<-c(110,110,100,90,90)

age<-c(18,19,20,21,22)

# 计算平均年龄

平均年龄<-sum(num*age)/sum(num)

print(平均年龄)

运行结果或截图:

(习题3.14)有一项为期 10 年的抵押贷款(按复利计算),其中第1年的利率为 5% ,第2年为 7% ,第3 年为 9%,第4年为 11%,第5年为 13% ,第6 ~ 第10 年为 15%,试计算此贷款的年均利率。

源代码:

source("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/exa_0314.R")

X<-c(5,7,9,11,13,15,15,15,15,15)/100

m<-mean(log(1+X))

X_bar<-exp(m)

X_bar

运行结果或截图:

(习题3.15)假设在过去的 3个月,猪肉价格在 16.8元/500g ~ 20.4元/500g 之间变化。某学校食堂在这 3个月中共购买了 5次猪肉,其价格与购买金额如下表所示。计算该食堂购买猪肉的平均价格。

三个月内的猪肉价格和购买金额

购买

批次

价格

(元/500g)

购买金

额(元)

购买

批次

价格

(元/500g)

购买金

额(元)

1

18.0

21600

4

17.4

17400

2

20.4

10200

5

19.5

15600

3

16.8

46200

源代码:

 source("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/exa_0315.R")

 x<-c(18.0,20.4,16.8,17.4,19.5)

 f<-c(216,102,462,174,156)*100

 (x_bar<-1/weighted.mean(1/x,w=f))

运行结果或截图:

(习题3.22)在汽车的汽油时数和汽车油耗的测试中, 13 辆汽车分别在城市和乡村行驶 500km的路况下接受了检测,下表中的数据(存放在 car.data 文件中)记录了它们每百千米的耗油量。(1) 运用均值、中位数和百分位数来评价在城市和乡村路况下汽车性能的差别;(2) 画出两组数据的箱线图,比较不同路况下汽车性能是否有差别。

两种道路状况百公里耗油量(单位:L)

城市道路

乡村道路

城市道路

乡村道路

1

14.52

12.12

8

14.70

12.65

2

14.08

11.42

9

14.61

12.38

3

14.79

12.85

10

15.37

11.15

4

16.33

12.65

11

15.47

12.12

5

17.82

12.25

12

15.37

12.71

6

15.37

13.52

13

14.52

12.58

7

14.00

13.67

(1)源代码:

#读取数据

data<-read.table("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/car.data")

#计算均值、中位数和百分位数

city_mean<-mean(data$城市道路)

village_mean<-mean(data$乡村道路)



city_median<-median(data$城市道路)

village_median<-median(data$乡村道路)



city_quantile<-quantile(data$城市道路,probs = 1,na.rm = FALSE)

village_quantile<-quantile(data$乡村道路,probs = 1,na.rm = FALSE)



result<-c(城市均值 = city_mean,乡道均值 = village_mean,

          城市中位数 = city_median,乡村中位数 = village_median,

          城市百分数 = city_quantile,乡村百分位数 = village_quantile)

print(result)

运行结果或截图:

城市油耗高于乡道油耗

(2)源代码:

#读取数据

data<-read.table("C:/Users/黄培滇/Desktop/R语言生物统计学/chap03/car.data")

#绘制箱线图

boxplot(data,main = "油耗箱线图")

运行结果或截图:

思考:

描述定量数据集中趋势的指标主要有?

均值、中位数、众数

描述定量数据分散程度的指标主要有?

极差、方差、标准差

描述定量数据分布形态的指标主要有?

偏度、峰度

直方图和条图有什么区别?各适用于哪种数据?

直方图用于展示连续型变量的频数分布,横轴表示变量取值的范围,纵轴表示频数或频率。条图则适用于展示离散型变量的频数或频率,横轴表示不同的类别,纵轴表示频数或频率。

stem()函数画出的茎叶图,其本质是图吗?

本质是一种(统计)图形

上、下四分位数之间(即半极差)的数,占所有数据的百分之几? 

25%

偏度系数大于0,说明其密度函数图形的尾部相对于正态分布偏左还是偏右?峰度系数大于0,说明其密度函数图形相对于正态分布更尖峭还是更平缓?

偏度系数大于0说明密度函数图形的尾部相对于正态分布偏左;峰度系数大于0说明密度函数图形相对于正态分布更尖峭

箱线图中,盒子的上、下连线分别代表什么?盒子中间的线代表什么?由“触须”延长的下、下边缘线的值分别为多少?

盒子的上、下连线代表数据集的上四分位数(Q3)和下四分位数(Q1);盒子中间的线代表数据集的中位数(Q2);由“触须”延长的下、下边缘线的值分别为最小非异常值和最大非异常值

在R中,如果想在一个输出窗口里放2行3列共6张图,需要运行什么命令?

Par(mfrow = c(2,3))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值