gpt4 book ai didi

r - 如果值存在于 r 的其他列中,如何创建列标记?

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

我有 5 列 5 个不同的 p 值。当 5 列中的任何一列中存在值时,我希望在新列中进行标记。

我的数据是这样的:

Gene   pvalue_group1 pvalue_group2 pvalue_group3 pvalue_group4 pvalue_group5
Gene1 0.01 0.2 NA NA NA
Gene2 NA 0.001 NA NA NA
Gene3 0.05 0.7 0.09 0.2 0.001

我希望输出如下所示的列:

Gene   pvalue_group1 pvalue_group2 pvalue_group3 pvalue_group4 pvalue_group5 Group
Gene1 0.01 0.2 NA NA NA Group1, Group2
Gene2 NA 0.001 NA NA NA Group2
Gene3 0.05 0.7 0.09 0.2 0.001 Group1, Group2, Group3, Group4, Group5

我尝试基于类似的问题创建代码,尝试使用 dplyr 和 mutate() 但我还没有走得太远,如果能提供任何关于我可以尝试的其他功能的帮助,我们将不胜感激。

示例输入数据:

df <- structure(list(Gene = c("Gene1", "Gene2", "Gene3"), pvalue_group1 = c(0.01, 
NA, 0.05), pvalue_group2 = c(0.2, 0.001, 0.7), pvalue_group3 = c(NA,
NA, 0.09), pvalue_group4 = c(NA, NA, 0.2), pvalue_group5 = c(NA,
NA, 0.001)), row.names = c(NA, -3L), class = c("data.table",
"data.frame"))

最佳答案

library(data.table)

setDT(df)

x <- names(df)[-1]

df[, test := apply( .SD, 1, \(i) paste(x[which(!is.na(i))], collapse=',') ), .SDcols=x]

关于r - 如果值存在于 r 的其他列中,如何创建列标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73282227/

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