gpt4 book ai didi

r - 将多列值折叠为 1 个因子

转载 作者:行者123 更新时间:2023-12-01 22:43:54 24 4
gpt4 key购买 nike

是否有将多个列值折叠为 1 个因子的函数?每条记录的第 2:4 列恰好有 1 个 TRUE 值。记录的结果值应该是具有真实值的列的名称。

输入数据框:

data <- data.frame(user=c(1,2,3,4), blue=c(T,F,T,F), green=c(F,F,F,T), red=c(F,T,F,F))

user blue green red
1 1 TRUE FALSE FALSE
2 2 FALSE FALSE TRUE
3 3 TRUE FALSE FALSE
4 4 FALSE TRUE FALSE

预期输出:

  user color
1 1 blue
2 2 red
3 3 blue
4 4 green

最佳答案

cbind(data[1], color = apply(data[-1], 1, function(x) names(data[-1])[x]))
user color
1 1 blue
2 2 red
3 3 blue
4 4 green

关于r - 将多列值折叠为 1 个因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447677/

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