You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中按种族双条件筛选数据框并用于dropout rate回归分析

在R中按种族筛选数据并进行回归分析的完整方案

嘿,我来帮你把这个流程梳理清楚!你已经开了个好头,接下来咱们一步步完成数据筛选和回归分析:

1. 完成数据筛选

你用subset()函数的思路是对的,咱们把它补全。假设你需要保留的变量包括race、individual.ind、institutional.ind、male、twohousehold、foreignbornparent、parentdegree,以及核心因变量dropout_rate(你原代码里的welf...应该是未写完的变量,这里用示例变量名统一说明):

方法一:用Base R的subset()

# 筛选种族为"B"和"H"的行,并保留指定变量
newdata <- subset(x.20, 
                  race %in% c("B", "H"), 
                  select = c(race, individual.ind, institutional.ind, male, 
                             twohousehold, foreignbornparent, parentdegree, dropout_rate))

方法二:用dplyr包(更直观的管道语法)

如果你习惯用tidyverse工具链,filter()+select()的组合可读性更强:

library(dplyr)

newdata <- x.20 %>%
  filter(race %in% c("B", "H")) %>%
  select(race, individual.ind, institutional.ind, male, 
         twohousehold, foreignbornparent, parentdegree, dropout_rate)

验证筛选结果:做完筛选后,记得确认数据是否符合预期:

# 查看种族分布,确保只有"B"和"H"两类
table(newdata$race)

2. 执行回归分析

筛选好数据后,就可以用lm()函数构建线性回归模型,把dropout_rate作为因变量,其余变量作为自变量:

# 构建回归模型
dropout_model <- lm(dropout_rate ~ individual.ind + institutional.ind + male + 
                      twohousehold + foreignbornparent + parentdegree, 
                    data = newdata)

# 查看模型详细结果(系数、显著性、R²等)
summary(dropout_model)

额外小提示:

  • 如果你的dropout_rate是二分类变量(比如0=未辍学,1=辍学),更适合用逻辑回归glm(..., family = binomial),而不是线性回归;如果是比例变量,也可以考虑beta回归。
  • 若想对比两个种族的辍学率差异,可以把race也加入模型公式:
    dropout_model_with_race <- lm(dropout_rate ~ race + individual.ind + institutional.ind + male + 
                                    twohousehold + foreignbornparent + parentdegree, 
                                  data = newdata)
    

内容的提问来源于stack exchange,提问作者Ghost Koi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:34:44