R_homework03

Questions

Here’s the third R homework.

R_questions_03

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 , 大于显著性水平,说明两种方法的检测结果无显著差别

#######################################################################

Contents