gpt4 book ai didi

r - 将多列合并为R中的一列

转载 作者:行者123 更新时间:2023-12-02 05:48:50 25 4
gpt4 key购买 nike

我有一个看起来像这样的数据框

print(dat)
A B C
1 NA NA
NA 1 NA
1 NA NA
NA NA 1

可重现者:

dat <- data.frame(A=c(1,NA,1,NA), B=c(NA,1,NA,NA), C=c(NA,NA,NA,1))

因此,如果在给定列中找到 1,则其他两列将具有 NA。我正在尝试将此信息合并到 1 列中,因此它看起来像:

print(dat)
A
B
A
C

我试过:

dat<-ifelse(dat$A==1,"A",ifelse(dat$B==1,"B",ifelse(dat$C==1,"C","NA")))

但它不起作用。有什么建议么?谢谢!

最佳答案

试试这个:

rep(names(dat),nrow(dat))[c(t(dat)) == 1 & !is.na(c(t(dat)))]
[1] "A" "B" "A" "C"

关于r - 将多列合并为R中的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34345769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com