gpt4 book ai didi

r - 在数据框中找到最频繁的子集

转载 作者:行者123 更新时间:2023-12-02 15:45:35 24 4
gpt4 key购买 nike

所以我有以下数据框:

我想要的是找到一起出现最多的基因组合。

  sample genea geneb genec gened genee genef
1 1 1 1 1 0 0 0
2 2 1 1 1 0 0 0
3 3 1 0 0 1 1 1
4 4 0 0 0 0 0 0
5 5 1 0 1 1 1 1
6 6 0 0 0 0 0 0

所以在这种情况下,我想要的输出是:基因a + c = 3个样本重叠。

test[sort.list(colSums(test[,-1]), decreasing=TRUE)[1:15] +1]) 给我一个每个基因最多 1 值的列表。但我被这个困住了。

我该如何处理。

最佳答案

一种方法是使用crossprod():

library(tidyr)
library(dplyr)

dat %>%
pivot_longer(-sample) %>%
filter(value == 1) %>%
select(-value) %>%
table() %>%
crossprod() %>%
replace(lower.tri(., diag = TRUE), NA) %>%
as.data.frame.table() %>%
slice_max(Freq)

name name.1 Freq
1 genea genec 3

关于r - 在数据框中找到最频繁的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74374484/

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