作业2参考答案

  1. 请对学生独生与否、父母关系好坏、胖瘦情况、是否近视、是否恋爱情况进行统计分析,包括频数及占比信息,并对表格做相关调整,比如表头、注释、变量重命名等;
library(tidyverse)
library(rio)
library(sjmisc)
library(here) # 仅是quarto文档中需要使用here()命令打开、保存文件
std <- import(here("files/data/cepsw2studentCN.dta"))
std2 <- std %>% 
  select(only=w2a05,relation=w2a17,obese=w2c03,sight=w2c09,love=w2d05) %>% 
  mutate(across(everything(),to_label))

library(modelsummary)

std2 %>% 
  rename(独生与否=only,"父母关系"=relation,
         胖瘦与否=obese,近视情况=sight,恋爱经历=love) %>% 
  drop_na() %>% 
  datasummary_skim(type='categorical',
                   title = "表1. 学生基本信息统计表",
                   notes = "数据来源:CEPS 2014-2015数据.")
表1. 学生基本信息统计表
N %
独生与否 4144 44.1
不是 5252 55.9
父母关系 8441 89.8
不好 955 10.2
胖瘦与否 很瘦 411 4.4
有点瘦 1774 18.9
不胖不瘦 3671 39.1
有点胖 3071 32.7
很胖 469 5.0
近视情况 近视,配戴眼镜 3283 34.9
近视,不清楚具体度数 2291 24.4
不近视 3822 40.7
恋爱经历 谈过或者正在谈 1125 12.0
没谈过 8271 88.0
数据来源:CEPS 2014-2015数据.
  1. 请选择语文、数学、英语成绩使用满分120分试卷的学生,生成学生语文、数学、英语、身高、体重的统计描述表,统计信息包括均值、方差、最小值、最大值,且对独生子女与否分组统计上述信息,对表格样式做必要调整;
std3 <- std %>% 
  filter(w2upchn==120 & w2upeng==120 & w2upmat==120) %>% 
  select(w2chn, w2mat,w2eng,w2c01,w2c02,w2a05) %>% 
  drop_na() %>% 
  mutate(w2a05=to_label(w2a05))
std3 %>% 
  datasummary((语文=w2chn) + (数学=w2mat)+ (英语=w2eng)+
                (身高=w2c01)+(体重=w2c02) ~ w2a05*((均值=mean) + 
                                                 (方差=sd) +(最小值=min) +
                                                 (最大值=max)),data = .,
              title="表2. 学生成绩、身高、体重统计表",
              notes = "数据来源:CEPS2014-2015数据",
              output = "gt")
表2. 学生成绩、身高、体重统计表
不是
均值 方差 最小值 最大值 均值 方差 最小值 最大值
语文 81.09 18.80 1.00 118.00 80.29 21.22 0.00 117.00
数学 72.70 32.16 0.00 164.00 69.71 32.61 0.00 130.00
英语 70.73 29.69 0.00 120.00 64.74 28.38 0.00 119.00
身高 164.53 29.43 0.00 998.00 161.89 16.22 15.00 777.00
体重 53.40 30.86 0.00 998.00 49.06 10.48 5.00 103.00
数据来源:CEPS2014-2015数据
  1. 请选择语文、数学、英语成绩使用满分120分试卷的学生,统计分析学生语文、数学、英语、身高、体重、认知能力标准化得分等变量之间的相关系数,并对表格样式做必要调整;
std4 <- std %>% 
  filter(w2upchn==120 & w2upeng==120 & w2upmat==120) %>% 
  select(语文=w2chn, 数学=w2mat,英语=w2eng,
         身高=w2c01,体重=w2c02,认知=w2cogscore) %>% 
  drop_na()

std4 %>% 
  datasummary_correlation(title="表3. 学生成绩、身高、体重、认知能力相关性统计表",
              notes = "数据来源:CEPS2014-2015数据")
表3. 学生成绩、身高、体重、认知能力相关性统计表
语文 数学 英语 身高 体重 认知
语文 1 . . . . .
数学 .66 1 . . . .
英语 .64 .71 1 . . .
身高 −.02 .00 −.02 1 . .
体重 −.03 −.03 −.03 .68 1 .
认知 .51 .53 .48 −.01 .00 1
数据来源:CEPS2014-2015数据
  1. 请做一个学生家庭经济条件与父母关系好坏之间的交叉表,对表格进行必要调整。
std5 <- std %>% 
  select(ses=w2a09,relation=w2a17) %>% 
  mutate(家庭经济条件=to_label(ses),
         relation=to_label(relation)) %>% 
  drop_na()

std5 %>% 
  datasummary_crosstab(家庭经济条件~relation,data = .,
                       title="表3. 学生家庭经济条件与父母关系交叉表",
                       notes = "数据来源:CEPS2014-2015数据")
表3. 学生家庭经济条件与父母关系交叉表
家庭经济条件 不好 All
非常困难 N 234 47 281
% row 83.3 16.7 100.0
比较困难 N 1008 215 1223
% row 82.4 17.6 100.0
中等 N 6472 664 7136
% row 90.7 9.3 100.0
比较富裕 N 977 64 1041
% row 93.9 6.1 100.0
很富裕 N 68 4 72
% row 94.4 5.6 100.0
All N 8759 994 9753
% row 89.8 10.2 100.0
数据来源:CEPS2014-2015数据