如何合并变量中的指定观测值?以Race变量合并Refused与Unknown为例
合并变量中特定观测值的实现方法
针对你要合并Race变量里的Refused和Unknown观测值的需求,下面是几种常用统计分析工具的实现方式:
R语言
基础R方法
直接通过索引替换目标值:
# 替换Refused和Unknown为合并后的类别 df$Race[df$Race %in% c("Refused", "Unknown")] <- "Refused/Unknown"
如果Race是因子类型,需要先转成字符型再处理,之后可重新转为因子:
df$Race <- as.character(df$Race) df$Race[df$Race %in% c("Refused", "Unknown")] <- "Refused/Unknown" df$Race <- as.factor(df$Race)
dplyr包方法
用case_when更清晰地处理多条件分类:
library(dplyr) df <- df %>% mutate(Race = case_when( Race %in% c("Refused", "Unknown") ~ "Refused/Unknown", TRUE ~ Race # 保留其他所有原有类别 ))
Python(Pandas)
replace方法
直接映射目标值到合并类别:
import pandas as pd df['Race'] = df['Race'].replace( {'Refused': 'Refused/Unknown', 'Unknown': 'Refused/Unknown'} )
np.where方法
通过条件判断替换:
import pandas as pd import numpy as np df['Race'] = np.where( df['Race'].isin(['Refused', 'Unknown']), 'Refused/Unknown', df['Race'] )
Stata
用replace命令直接替换符合条件的观测值:
replace Race = "Refused/Unknown" if Race == "Refused" | Race == "Unknown"
内容的提问来源于stack exchange,提问作者Jamie
相关产品推荐
相关产品推荐

