回归模型二分类预测变量转换及female_minority变量生成咨询
二水平预测变量转yes/no二值变量实现方法
转换逻辑:将原二水平变量的两个互斥取值,分别映射为"yes"和"no"即可,映射规则可根据回归参照组需求自定义,以下是常用数据分析工具的实现示例:
- R实现(以原变量名为
raw_var,原取值为"a"/"b"为例):
# 基础包实现 df$new_var <- ifelse(df$raw_var == "a", "yes", "no") # dplyr包实现 library(dplyr) df <- df %>% mutate(new_var = case_when(raw_var == "a" ~ "yes", TRUE ~ "no"))
- Python实现(pandas环境):
df['new_var'] = df['raw_var'].apply(lambda x: 'yes' if x == 'a' else 'no')
- Stata实现:
gen new_var = "yes" if raw_var == "a" replace new_var = "no" if raw_var == "b"
交互变量female_minority生成方法
该变量为二分类交互项,仅当gender="female"且minority="yes"时赋值为1,其余场景赋值为0,实现示例如下:
- R实现:
# 基础包实现 df$female_minority <- ifelse(df$gender == "female" & df$minority == "yes", 1, 0) # dplyr包实现 df <- df %>% mutate(female_minority = as.integer(gender == "female" & minority == "yes"))
- Python实现(pandas环境):
df['female_minority'] = ((df['gender'] == 'female') & (df['minority'] == 'yes')).astype(int)
- Stata实现:
gen female_minority = 1 if gender == "female" & minority == "yes" replace female_minority = 0 if female_minority == .
注意:生成变量后可直接代入你给出的回归模型使用,若所用回归工具要求分类变量为数值型,可将
yes/no变量进一步转换为1/0的数值型变量,转换逻辑和上述交互项生成逻辑一致。
内容的提问来源于stack exchange,提问作者Kyle David Smith
相关产品推荐
相关产品推荐

