gpt4 book ai didi

r - 根据相同数据框的逻辑获取列名向量

转载 作者:行者123 更新时间:2023-12-05 01:04:09 28 4
gpt4 key购买 nike

我有一个包含缺失逻辑的命名数据框,我想获得一个列名称为 TRUE 的向量(向下行,如果有多个 TRUEs 在一行中,从左到右)。举个例子:

df <- data.frame(a= c(FALSE, NA, TRUE, TRUE),
b= c(TRUE, FALSE, FALSE, NA),
c= c(TRUE, TRUE, NA, NA))
df
# a b c
# 1 FALSE TRUE TRUE
# 2 NA FALSE TRUE
# 3 TRUE FALSE NA
# 4 TRUE NA NA

expected <- c("b", "c", "c", "a", "a")

从第一行到最后一行,我们在第一行看到 TRUE。这里有多个TRUE,所以我们从左到右依次得到"b""c"。在第二个拖曳中,我们得到 "c",以此类推。

如何做到这一点(以优雅的方式)?

最佳答案

你可以在 base R:

pos <- which(t(df) == TRUE, arr.ind = TRUE)
names(df)[pos[, "row"]]
[1] "b" "c" "c" "a" "a"

关于r - 根据相同数据框的逻辑获取列名向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72879167/

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