Questions
Here’s the third R homework.
Codes
data <- read.csv("dat1.csv")
# 写个求可信区间的函数
CI <- function(sex, what, a) {
x <- subset(data, Gender == sex) # 按性别筛选
x_what <- x[[what]] # 按列名提取
n <- nrow(x) # 计算各自人数
x_bar <- mean(x_what, na.rm = TRUE) # 各自均值
s <- sd(x_what, na.rm = TRUE) # 各自标准差
margin_error <- qt(1 - a / 2, n - 1) * s / sqrt(n) # 误差幅度
upper <- x_bar + margin_error
lower <- x_bar - margin_error
cat("性别为", sex, "的", what, "的", paste0((1-a)*100, "%"),
"的可信区间为", lower, "~", upper, "\n") # 打印可信区间
}
# 写个求平均BMI的函数
mean_BMI <- function(sex = NULL) {
if (is.null(sex)) {
x_BMI <- data[["BMI"]] # 所有人的BMI数据
x_bar <- mean(x_BMI, na.rm = TRUE) # 所有人的BMI均值
cat("整体 BMI 的均值为:", x_bar, "\n") # 打印整体BMI均值
} else {
x <- subset(data, Gender == sex) # 根据性别筛选
x_BMI <- x[["BMI"]] # 按列名提取
x_bar <- mean(x_BMI, na.rm = TRUE) # 各自均值
cat("性别为", sex, "的 BMI 均值为:", x_bar, "\n") # 按性别打印BMI均值
}
}
cat("\n#######################################################################\n\n")
cat("1.1 分性别(sex)求Age和BMI的95%和90%的可信区间:\n")
cat("\n")
CI(1, "Age", 0.05)
CI(1, "Age", 0.1)
cat("\n")
CI(1, "BMI", 0.05)
CI(1, "BMI", 0.1)
cat("\n")
CI(2, "Age", 0.05)
CI(2, "Age", 0.1)
cat("\n")
CI(2, "BMI", 0.05)
CI(2, "BMI", 0.1)
cat("\n#######################################################################\n\n")
cat("1.2 已知成年人BMI的总体均数为23kg/m²,问当前样本的平均BMI是否与该值相同?
\n (否) \n")
cat("\n")
mean_BMI() # 整体BMI均值
cat("\n#######################################################################\n\n")
cat("1.3 试问男性和女性BMI的总体均数是否相等?
\n (否) \n")
cat("\n")
mean_BMI(1) # 性别为1的BMI均值
mean_BMI(2) # 性别为2的BMI均值
cat("\n#######################################################################\n\n")
wright = c(490,397,512,401,470,415,431,429,420,275,165,421)
mini = c(525,415,508,444,500,460,390,432,420,227,268,443)
t_test <- t.test(wright, mini, paired = TRUE) # 配对t检验
p_value <- t_test$p.value
#####################
cat("2. 现用两种测量肺活量的仪器对12名妇女测得最大呼气率(PEER)(L/min),
资料如下表,问两种方法的检测结果有无差别?\n\n")
if (p_value > 0.05) {
cat("p值为", p_value, ",", "大于显著性水平,说明两种方法的检测结果无显著差别")
} else {
cat("p值为", p_value, ",", "小于显著性水平,说明两种方法的检测结果有显著差别")
}
cat("\n\n#######################################################################\n")
Results
#######################################################################
1.1 分性别(sex)求Age和BMI的95%和90%的可信区间:
性别为 1 的 Age 的 95% 的可信区间为 65.97248 ~ 67.50184
性别为 1 的 Age 的 90% 的可信区间为 66.09569 ~ 67.37863
性别为 1 的 BMI 的 95% 的可信区间为 27.67115 ~ 28.44296
性别为 1 的 BMI 的 90% 的可信区间为 27.73334 ~ 28.38078
性别为 2 的 Age 的 95% 的可信区间为 65.46063 ~ 67.10848
性别为 2 的 Age 的 90% 的可信区间为 65.59341 ~ 66.97569
性别为 2 的 BMI 的 95% 的可信区间为 28.49502 ~ 29.49713
性别为 2 的 BMI 的 90% 的可信区间为 28.57578 ~ 29.41638
#######################################################################
1.2 已知成年人BMI的总体均数为23kg/m²,问当前样本的平均BMI是否与该值相同?
(否)
整体 BMI 的均值为: 28.50579
#######################################################################
1.3 试问男性和女性BMI的总体均数是否相等?
(否)
性别为 1 的 BMI 均值为: 28.05706
性别为 2 的 BMI 均值为: 28.99608
#######################################################################
2. 现用两种测量肺活量的仪器对12名妇女测得最大呼气率(PEER)(L/min),
资料如下表,问两种方法的检测结果有无差别?
p值为 0.168359 , 大于显著性水平,说明两种方法的检测结果无显著差别
#######################################################################