【发布时间】:2021-03-28 21:14:29
【问题描述】:
谁能帮我根据一些严格的标准创建一个新列。
数据看起来像这样
screening consistancyAPP consistancyVAF consistancyCRF
XXX/01 Missing 50-100% target 50-100% target
XXX/03 0-49% target 0-49% target 0-49% target
XXX/08 Missing Missing 50-100% target
XXX/13 Missing Missing Missing
XXX/09 Missing 0-49% target 50-100% target
XXX/04 0-49% target 0-49% target 50-100% target
df <- data.frame (screening = c("XXX/01", "XXX/03", "XXX/08","XXX/13","XXX/09","XXX/04"),
consistancyAPP = c("Missing", "0-49% target", "Missing","Missing","Missing","0-49% target"),
consistancyVAF = c("50-100% target", "0-49% target", "Missing","Missing","0-49% target","0-49% target"),
consistancyCRF = c("50-100% target", "0-49% target", "50-100% target","Missing","50-100% target","50-100% target")
)
新列的条件
- 如果所有三个都相同,例如失踪然后失踪
- 如果两个缺失(例如 XXX/08),则取另一个(例如 50-100% 目标)
- 如果两个一致(例如 XXX/01),则该值(例如 50-100% 目标)
- 如果所有三个不同的 (XXX/09) 都采用较低的(0-49% 目标)
我希望输出看起来像这样
screening consistancyAPP consistancyVAF consistancyCRF consistancyOverall
XXX/01 Missing 50-100% target 50-100% target 50-100% target
XXX/04 0-49% target 0-49% target 0-49% target 0-49% target
XXX/08 Missing Missing 50-100% target 50-100% target
XXX/13 Missing Missing Missing Missing
XXX/09 Missing 0-49% target 50-100% target 0-49% target
XXX/04 0-49% target 0-49% target 50-100% target 0-49% target
【问题讨论】:
-
在你的例子中是所有可能的情况吗?是否有可能在您的数据中有 30-40% 的目标?
-
只能是“缺失”、“0-49% 目标”、“50-100% 目标”。只有这三个级别
-
正如您所说,您的列值是因素。因此,您可以转换为
factor(..., ordered = TRUE)并使用它来选择结果。如果您可以提供一个工作示例,那么帮助您会更容易,这样我们就不需要自己创建 data.frame。 -
添加了一个工作示例!
标签: r