2
我有一個DF像這樣不同因素兩個層面:粘貼的給定條件語句
df<- data.frame(result=c("p","p","p","d","d","p"),lep=c("A", "C", "E", "F","G", ""), psit= c("B", "D", "F", "G","H", ""))
我想提出一個新列paste
該貼的不同因素兩個層面在一起,如果滿足以下要求:1)必須result
= p
2)LEP和PSIT列不爲空
和輸出應如下所示:
output<- data.frame(result=c("p","p","p","d","d", "p"),lep=c("A","C",
"E", "F","G", ""), psit= c("B", "D", "F", "G","H",""), paste=
c("A_B","C_D", "E_F", "", "",""))
我已經嘗試了以下但沒有成功。我相信這是因爲我沒有正確使用粘貼功能:
df<-df %>%
group_by(result) %>%
mutate(interact2=ifelse(psit==""| lep==""|result!="p", psit,
paste0(lep, psit, sep= "_")))
你有一大堆的事情在這裏混了分配。你不是在尋找'result!=「psit」' - 你想要'結果!=「p」'。您正在使用'paste0'而不是'paste'。最後,當條件不匹配時,您返回'psit'而不是'「」'(空白)。 – thelatemail