假设我的原始数据看起来像这样将2个变量合并为1?
df <- data.frame(id = 1:10,
V = LETTERS[1:10],
Treatment1 = c(rep(1,3), rep(0,7)),
Treatment2 = c(rep(0,3), rep(1,3), rep(0,4)))
我想合并Treatment1
和Treatment2
到一个新的变量,需要1 3的值:Treatment1
,Treatment2
,Control
。这就是我想和这个数据帧结束:
df2 <- data.frame(id = 1:10,
V = LETTERS[1:10],
Treatment = c(rep("Treatment1",3),
rep("Treatment2",3),
rep("Control",4)))
现在我正在使用此代码做:
library(dplyr)
df$Treatment <- ifelse(test = df$Treatment1==1, yes = "Treatment1",
no = ifelse(test = df$Treatment2==1,
yes = "Treatment2", no = "Control"))
df2 <- df %>% select(-Treatment1, -Treatment2)
有没有更好的办法?
据我所见,这个问题与tidyr和dplyr完全无关。 –