我有一个如下所示的数据框:
A <- data.frame(Red = c(1,0,0,0),
Blue = c(0,1,0,1),
Yellow = c(0,0,1,0))
Run Code Online (Sandbox Code Playgroud)
我想结合这些信息以获得此专栏:
B <- data.frame(Colour = c("Red", "Blue", "Yellow", "Blue"))
Run Code Online (Sandbox Code Playgroud)
即,出现 1 的列的名称。
您可以使用的max.col子集。namesA
names(A)[max.col(A)]
#[1] "Red" "Blue" "Yellow" "Blue"
Run Code Online (Sandbox Code Playgroud)
或者which与 一起使用arr.ind。
names(A)[which(t(A == 1), TRUE)[,1]]
#[1] "Red" "Blue" "Yellow" "Blue"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |