【发布时间】:2022-12-20 01:40:30
【问题描述】:
我已经尝试了很多东西,但一直无法找到任何合适的东西。 如果一行至少有两个相同的变量响应,我想弄清楚如何使用编码响应向我的数据框添加一个新列。我的数据有 42 列,所以我提供了一个简短示例,但我需要输出包含来自数据框所有列的任何响应。
ID<- c(1,2,3,4,5)
CV<- c("Detected", "Not Detected", "Detected", "Not Detected", "Detected")
RV<- c("Not Detected", "Detected", "Not Detected", "Detected", "Not Detected")
BP<- c("Detected", "Detected", "Not Detected", "Detected", "Detected")
我希望新列被称为“Coinfection”,如果每行有两个“检测到”的观察响应,如果只有一个“检测到”的观察响应,我希望新列指示“Coinfection”或者所有都是“未检测到”,那么我希望列响应为“否定”。所以我希望它看起来像这样:
ID<- c(1,2,3,4,5)
CV<- c("Detected", "Not Detected", "Detected", "Not Detected", "Detected")
RV<- c("Not Detected", "Detected", "Not Detected", "Detected", "Not Detected")
BP<- c("Detected", "Detected", "Not Detected", "Detected", "Detected")
Coinfection<- c("Coinfection", "Coinfection", "Negative", "Coinfection", "Coinfection")
df<- data.frame(ID, CV, RV, BP, Coinfection)
ID CV RV BP Coinfection
1 Detected Not Detected Detected Coinfection
2 Not Detected Detected Detected Coinfection
3 Detected Not Detected Not Detected Negative
4 Not Detected Detected Detected Coinfection
5 Detected Not Detected Detected Coinfection
【问题讨论】:
标签: r if-statement tidyr reshape mutate