对 R 来说非常陌生。我有一个数据框(组),使用 1,0 进行控制和干预。我想分割数据框并创建两个新变量,一个为 0(控制作为标签),一个为 1(干预作为标签)。
参见下面的数据集
'data.frame': 401 obs. of 14 variables:
$ id : int 100 101 104 105 108 112 113 114 126 130
$ age : int 47 52 32 53 56 45 45 49 47 46
$ sex : int 1 1 1 1 1 1 1 1 1 1
$ migraine : int 1 1 1 1 1 1 1 1 1 1
$ chronicity : int 35 8 14 10 40 27 30 49 42 3
$ acupuncturist: int 12 12 12 9 9 9 9 9 5 7
$ practice_id : int 35 35 35 25 25 25 25 25 28 15
$ group : int 1 0 0 0 0 1 1 1 0 1
我希望通过创建新的变量控制和新的变量干预,并将 0 分配给对照组,1 分配给干预组,将 data$group 突变为 2 个新变量
谢谢
尝试如下:
data$control <- (ifelse(data$group == 0, "control", "intervention"))
这将分类标签应用于二进制数值数据点,将每个 1 或 0 重命名为干预/控制,这不是我的意图。
带底座R:
df1 <- data.frame(group = c(0, 0, 1))
df2 <- df1 |>
transform(
control = (group == 0) * 1,
intervention = (group == 1) * 1
)
# group control intervention
# 1 0 1 0
# 2 0 1 0
# 3 1 0 1