gpt4 book ai didi

r - 如何创建新列并通过 r 中的选定行添加列名

转载 作者:行者123 更新时间:2023-12-04 01:22:40 25 4
gpt4 key购买 nike

a<-c(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)
b<-c(TRUE,FALSE,TRUE,FALSE,FALSE,FALSE)
c<-c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE)
costumer<-c("one","two","three","four","five","six")
df<-data.frame(costumer,a,b,c)

这是一个示例代码。看起来像这样打印:

  costumer     a     b     c 
1 one TRUE TRUE TRUE
2 two FALSE FALSE TRUE
3 three TRUE TRUE TRUE
4 four FALSE FALSE FALSE
5 five TRUE FALSE TRUE
6 six FALSE FALSE FALSE

我想创建一个新列 df$items,它只包含数据中每一行的 TRUE 列名。像这样:

  costumer     a     b     c items
1 one TRUE TRUE TRUE a,b,c
2 two FALSE FALSE TRUE c
3 three TRUE TRUE TRUE a,b,c
4 four FALSE FALSE FALSE
5 five TRUE FALSE TRUE
6 six FALSE FALSE FALSE

我想到了使用 apply 函数或使用 which 来选择索引,但无法弄清楚。谁能帮帮我?

最佳答案

df$items <- apply(df, 1, function(x) paste0(names(df)[x == TRUE], collapse = ","))
df
custumer a b c items
1 one TRUE TRUE TRUE a,b,c
2 two FALSE FALSE TRUE c
3 three TRUE TRUE TRUE a,b,c
4 four FALSE FALSE FALSE
5 five TRUE FALSE TRUE a,c
6 six FALSE FALSE FALSE

关于r - 如何创建新列并通过 r 中的选定行添加列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62391295/

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