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

如何基于家庭组内是否有成员为1创建二分变量(1,0)

按家庭ID生成二分变量的解决方案

假设你的数据框名为df,家庭ID列是family_id,需要检查的目标列是response(包含1/0或Yes/No),可以用dplyr包的分组操作实现需求:

  1. 先加载依赖包:
library(dplyr)
  1. 执行分组计算生成新列:
df <- df %>%
  group_by(family_id) %>%
  mutate(has_positive = if_else(any(response %in% c(1, "Yes"), na.rm = TRUE), 1, 0)) %>%
  ungroup()

代码说明:

  • group_by(family_id):将数据按家庭ID分组,后续判断逻辑基于每个家庭组执行
  • any(response %in% c(1, "Yes"), na.rm = TRUE):检查当前家庭组内是否有成员的目标列值为1或Yes,na.rm = TRUE用于忽略缺失值,防止NA干扰判断结果
  • if_else(...):将判断结果转换为1/0的二分变量,存在符合条件的成员则赋值1,否则赋值0
  • ungroup():取消数据分组状态,避免影响后续其他数据操作

如果需要生成"是"/"否"格式的二分变量,只需把代码中的1, 0替换为"是", "否"即可。

内容的提问来源于stack exchange,提问作者Lyra Johnson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:35:41