Выложено несколько похожих вопросов, но не совсем то, что я ищу. У меня есть эти данные:
set.seed(34)
startingframe <- data.frame(
group1=factor(rep(c("a","b","c"),each=3,times=1)),
time=rep(1:3,each=1,times=3),
othercolumn=rnorm(1:9)
)
startingframe$control <- ifelse(startingframe$group1 == "c", 1, 0)
startingframe
out <- split(startingframe, startingframe$group1)
out
С этими данными я хочу программно привязать контрольную группу (group1 = c
или control = 1
) к обеим группам лечения, с выводом точно так, как показано ниже:
list(
rbind(out[[1]], out[[3]]),
rbind(out[[2]], out[[3]]))
[[1]]
group1 time othercolumn control
1 a 1 -0.1388900 0
2 a 2 1.1998129 0
3 a 3 -0.7477224 0
7 c 1 0.6706200 1
8 c 2 -0.8490146 1
9 c 3 1.0668045 1
[[2]]
group1 time othercolumn control
4 b 1 -0.5752482 0
5 b 2 -0.2635815 0
6 b 3 -0.4554921 0
7 c 1 0.6706200 1
8 c 2 -0.8490146 1
9 c 3 1.0668045 1
В идеале это можно сделать с помощью фильтра контрольных флагов (control = 1
), а не явно через переменную group1 (в случае изменения количества групп лечения).