R是否存在分层函数?AER包SwissLabor数据集课程作业求助
R作业完整可运行代码及说明
任务a:安装并加载AER包
代码如下:
# 首次运行需先安装包,已安装可注释掉下一行 install.packages("AER", repos = "https://cran.rstudio.com/") # 加载AER包 library(AER)
运行无报错即完成加载。
任务b:数据集加载与变量类型探查
代码如下:
# 加载内置SwissLabor数据集 data(SwissLabor) # 探查数据集整体结构、变量类型 str(SwissLabor) # 单独输出所有变量的类型汇总 sapply(SwissLabor, class)
探查结果说明
运行后可明确变量类型:
- 因子变量:
participation(是否参与劳动力市场,二分类)、foreign(是否为外籍,二分类) - 数值变量:
age(年龄)、income(家庭收入)、education(受教育年限)、youngkids(年幼子女数量)、oldkids(年长子女数量)
任务c:构建分层基线表并导出
这里使用R中常用的基线表制作工具包tableone实现需求,代码如下:
# 首次运行需先安装包,已安装可注释掉下一行 install.packages("tableone", repos = "https://cran.rstudio.com/") # 加载tableone包 library(tableone) # 指定要纳入基线表的变量 select_vars <- c("age", "income", "education", "participation") # 按foreign变量分层构建基线表,关闭组间检验 table1 <- CreateTableOne(vars = select_vars, strata = "foreign", data = SwissLabor, test = FALSE) # 将基线表转换为可导出的数据框格式 table1_df <- print(table1, showAllLevels = TRUE, quote = FALSE, noSpaces = TRUE) # 导出为csv文件 write.csv(table1_df, "SwissLabor table1.csv", row.names = TRUE, na = "")
运行完成后,你当前R的工作目录下就会生成名为SwissLabor table1.csv的文件,表格会按外籍、本地人群分层展示四个变量的统计结果:连续变量展示均数(标准差),分类变量展示例数(占比)。
内容的提问来源于stack exchange,提问作者Ekaterina
相关产品推荐
相关产品推荐

