我有一个包含两列的数据框:PathGroupStage、ClinGroupStage。我想创建一个选择更高阶段的新列 OutputStage。
阶段有效值:I,IA,IB,II,IIA,IIB,III,IIIA,IIIB,IIIC,IV,IVA,IVB,IVC,未知。
- 如果两个阶段都有值,则使用最高的,例如 IIIB > IIIA > III
- 如果一个缺失而另一个有价值,则使用有价值的那个
- 如果两者都丢失或未知,则 .= 未知
如何比较两列中的非数字值导出 OutputStage 变量?我想我需要考虑水平,但我将如何比较不同列之间的因素?
这是示例数据集:
PathGroupStage ClinGroupStage
1 II <NA>
2 I IA
3 IVB IVB
4 IIIA Unknown/Not Reported
5 I III
6 II <NA>
7 IIIA IIB
8 II II
9 <NA> <NA>
10 IIIB Unknown/Not Reported
df <- structure(list(PathGroupStage = c("II", "I", "IVB", "IIIA", "I",
"II", "IIIA", "II", NA, "IIIB"), ClinGroupStage = c(NA, "IA",
"IVB", "Unknown/Not Reported", "III", NA, "IIB", "II", NA, "Unknown/Not Reported"
)), row.names = c(NA, 10L), class = "data.frame")