假设我有一个数据集 df,其中我想X
在多个列的值之间匹配 col 的值,A to F
并希望在新列中返回匹配的列名(否则 NA)。
输入
df <- structure(list(A = c(4L, NA, NA, NA), B = c(NA, 5L, NA, NA),
C = c(NA, NA, NA, NA), D = c(NA, 4L, 6L, 7L), E = c(5L, NA,
NA, NA), F = c(NA, NA, NA, NA), X = 4:7), class = "data.frame", row.names = c(NA,
-4L))
> df
A B C D E F X
1 4 NA NA NA 5 NA 4
2 NA 5 NA 4 NA NA 5
3 NA NA NA 6 NA NA 6
4 NA NA NA 7 NA NA 7
我想要的输出
> df_out
A B C D E F X new
1 4 NA NA NA 5 NA 4 A
2 NA 5 NA 4 NA NA 5 B
3 NA NA NA 6 NA NA 6 D
4 NA NA NA 7 NA NA 7 D
我会更喜欢dplyr
/tidyverse
语法,我将集成到我现有的语法中。