R语言200习题训练(带答案)(七)——描述性统计分析

此部分内容会每日更新,包括但不限于基础知识,进阶知识,数据处理,图表展示,数据分析实战,机器学习算法等~ !!!
本人统计学硕士在读,想在2024年完成sql、python、R语言、stata、matlab等软件的复盘和巩固,目前在做统计学知识和R语言的复习~
后续考虑出相关视频进行讲解说明,请大家持续点赞+收藏+关注哈,大家一起沟通交流~

2.3 描述性统计分析习题

(1)计算均值、中位数、众数等描述性统计量

习题1:
题目:给定一组数据,计算其均值。

答案:

# 假设数据向量data已经给出
data <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)

# 计算均值
mean_value <- mean(data)
print(paste("均值是:", mean_value))

习题2:
题目:给定一个包含员工薪资的数据集,计算薪资的中位数。

答案:

# 假设薪资向量salaries已经给出
salaries <- c(3000, 4500, 3500, 6000, 5000, 4200, 5500, 4800)

# 计算中位数
median_salary <- median(salaries)
print(paste("薪资中位数是:", median_salary))

习题3:
题目:计算一组数据的众数,并解释其含义。

答案:

# 使用自定义函数计算众数
get_mode <- function(x) {
  ux <- sort(unique(x))
  ux[which.max(tabulate(match(x, ux)))]
}

# 假设数据向量data已经给出
data <- c(1, 2, 2, 3, 3, 3, 4, 5)

# 计算众数
mode_value <- get_mode(data)
print(paste("众数是:", mode_value))
print("众数是指在一组数据中出现次数最多的数值。")

习题4:
题目:给定一个包含学生成绩的数据集,分别计算男生和女生的成绩均值。

答案:

# 假设成绩数据框scores已经给出,其中包含性别列gender和成绩列score
scores <- data.frame(
  gender = c("男", "女", "男", "男", "女", "女", "男", "女"),
  score = c(85, 90, 78, 92, 88, 95, 80, 93)
)

# 计算男生和女生的成绩均值
mean_score_male <- mean(scores$score[scores$gender == "男"])
mean_score_female <- mean(scores$score[scores$gender == "女"])
print(paste("男生成绩均值是:", mean_score_male))
print(paste("女生成绩均值是:", mean_score_female))

习题5:
题目:计算某公司各部门员工年龄的中位数,并比较各部门的年龄分布情况。

答案:

# 假设数据框employees已经给出,其中包含部门列department和年龄列age
employees <- data.frame(
  department = c("A", "B", "A", "C", "B", "A", "C", "B"),
  age = c(25, 32, 28, 40, 35, 29, 38, 30)
)

# 分组计算中位数
library(dplyr)
median_ages <- employees %>%
  group_by(department) %>%
  summarise(median_age = median(age))

# 输出结果并比较
print(median_ages)
print("通过比较各部门的年龄中位数,可以初步了解各部门员工的年龄分布情况。")
(2)计算方差、标准差等变异指标

习题6:
题目:计算一组数据的方差,并解释其意义。

习题6:
题目:计算一组数据的方差,并解释其意义。

答案:

# 假设数据向量data已经给出
data <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)

# 计算方差
variance <- var(data)
print(paste("方差是:", variance))
print("方差用于描述数据集中各个数值与其均值之差的平方的平均值,反映了数据的离散程度。")

习题7:
题目:给定一个包含股票日收益率的数据集,计算其标准差并评估风险水平。

答案:

# 假设股票日收益率向量returns已经给出
returns <- c(0.01, -0.02, 0.03, -0.01, 0.04, -0.03, 0.02)

# 计算标准差
std_dev <- sd(returns)
print(paste("股票日收益率的标准差是:", std_dev))
print("标准差衡量了数据的离散程度,对于股票日收益率而言,标准差越大,表示收益波动越大,风险水平也相对较高。")

习题8:
题目:比较两组数据的方差,分析它们的离散程度差异。

答案:

# 假设两组数据向量data1和data2已经给出
data1 <- c(1, 2, 3, 4, 5)
data2 <- c(5, 5, 5, 5, 5)

# 计算两组数据的方差
variance1 <- var(data1)
variance2 <- var(data2)

# 比较方差
print(paste("第一组数据的方差是:", variance1))
print(paste("第二组数据的方差是:", variance2))
print("由于第二组数据的方差较小,说明其数值更为集中,离散程度较低;而第一组数据的方差较大,数值分布更为离散。")

习题9:
题目:计算某班级学生身高的标准差,并评估学生身高的分布情况。

答案:

# 假设学生身高向量heights已经给出
heights <- c(150, 155, 160, 158, 162, 157, 161, 159)

# 计算身高的标准差
std_dev_height <- sd(heights)
print(paste("学生身高的标准差是:", std_dev_height))
print("标准差可以反映学生身高的离散程度。如果标准差较小,说明学生身高分布比较集中;如果标准差较大,说明学生身高分布较为分散。")

习题10:
题目:分析一组数据的变异系数,并解释其相对于均值的变化程度。

答案:

# 假设数据向量data和对应的均值mean_value已经给出
data <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
mean_value <- mean(data)

# 计算标准差
std_dev <- sd(data)

# 计算变异系数
coefficient_of_variation <- std_dev / mean_value
print(paste("变异系数是:", coefficient_of_variation))
print("变异系数是标准差与均值之比,它反映了数据的相对离散程度。当变异系数较大时,说明数据的离散程度相对于均值较大;当变异系数较小时,说明数据的离散程度相对较小。")
(3)绘制直方图、箱线图等描述性统计图形

习题11:
题目:使用直方图展示一组数据的分布情况。

答案:

# 假设数据向量data已经给出
data <- c(1, 2, 3, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10)

# 绘制直方图
hist(data, main = "数据分布直方图", xlab = "数值", ylab = "频数", col = "lightblue", border = "black")

习题12:
题目:绘制箱线图,比较两个不同群体的数据分布情况。

答案:

# 假设两个群体的数据向量group1和group2已经给出
group1 <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
group2 <- c(8, 9, 10, 11, 12, 13, 14, 15, 16)

# 绘制箱线图
boxplot(group1, group2, names = c("群体1", "群体2"), main = "不同群体数据分布箱线图", col = c("lightblue", "lightgreen"))

习题13:
题目:给定一组销售数据,绘制直方图和箱线图,分析销售额的分布情况。

答案:

# 假设销售数据向量sales已经给出
sales <- c(1000, 1500, 1200, 2500, 1800, 2200, 3000, 2000, 2800, 1700)

# 绘制直方图
hist(sales, main = "销售额分布直方图", xlab = "销售额", ylab = "频数", col = "lightblue", border = "black")

# 绘制箱线图
boxplot(sales, main = "销售额分布箱线图", col = "lightblue")

习题14:
题目:使用R语言绘制直方图,并添加标题和轴标签。

答案:

# 假设数据向量data已经给出
data <- rnorm(100) # 生成100个正态分布的随机数作为示例数据

# 绘制直方图并添加标题和轴标签
hist(data, main = "数据分布直方图", xlab = "数值", ylab = "频数", col = "lightblue", border = "black")

习题15:
题目:分析一组数据的偏度和峰度,并使用箱线图进行可视化展示。

答案:

# 假设数据向量data已经给出
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 7, 8, 9)

# 计算偏度和峰度
library(moments)
skewness <- skewness(data)
kurtosis <- kurtosis(data)

# 输出偏度和峰度
print(paste("偏度:", skewness))
print(paste("峰度:", kurtosis))

# 绘制箱线图以辅助可视化
boxplot(data, main = "数据分布箱线图", col = "lightblue")
# 注意:箱线图本身不直接展示偏度和峰度,但可以提供数据分布形状的一些线索。
# 对于偏度和峰度的详细可视化,通常需要更复杂的图表,如Q-Q图或概率密度函数图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值