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

R语言入门求助:将group变量拆分为两个二元新变量

解决方案

方法一:基础R原生实现(无需额外安装包)

利用R中TRUE等价于1、FALSE等价于0的特性,直接生成目标二元变量:

# 生成control列:group为0时赋值1,其余为0
data$control <- as.integer(data$group == 0)
# 生成intervention列:group为1时赋值1,其余为0
data$intervention <- as.integer(data$group == 1)

也可以用逻辑更直观的ifelse函数:

data$control <- ifelse(data$group == 0, 1, 0)
data$intervention <- ifelse(data$group == 1, 1, 0)

方法二:用dplyr包(适合tidy风格的数据操作)

如果你习惯使用tidyverse生态工具,可通过dplyr::mutate批量生成新列:

library(dplyr)

data <- data %>%
  mutate(
    control = as.integer(group == 0),
    intervention = as.integer(group == 1)
  )

结果验证

以你提供的示例数据为例,前10行的group值为1 0 0 0 0 1 1 1 0 1,生成的control列对应为0 1 1 1 1 0 0 0 1 0,intervention列对应为1 0 0 0 0 1 1 1 0 1,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 17:05:34