获取具有共同值的行到列表中

金裕珍

我正在尝试根据“区域类型”列中的值将行放入列表中,并将这些列表放入其他数据结构(向量或列表)中。数据如下所示(~700 000 行):

chr CS  CE  CloneName   score   strand  # locs per clone    # capReg alignments Type of region  
chr1    10027684    10028042    clone_11546 1   +   1   1   chr1_10027880_10028380_DNaseI
chr1    10027799    10028157    clone_11547 1   +   1   1   chr1_10027880_10028380_DNaseI
chr1    10027823    10028181    clone_11548 1   -   1   1   chr1_10027880_10028380_DNaseI
chr1    10027841    10028199    clone_11549 1   +   1   1   chr1_10027880_10028380_DNaseI

这是我尝试做的:

typeReg=dat[!duplicated(dat$`Type of region`),]

for(i in 1:nrow(typeReg)){
    res[[i]]=dat[dat$`Type of region`==typeReg[i,]$`Type of region`,]
}

for 循环花费了太多时间,所以我尝试使用应用程序:

res=apply(typeReg, 1, function(x){
    tmp=dat[dat$`Type of region`==x[9],]
})

但它也很长(区域类型列中有 300 000 个唯一值)。您是否有解决我的问题的方法,或者花费这么长时间是正常的吗?

金裕珍

好的,所以拆分有效,但子集不会降低我在 df 中的因子水平。所以基本上对于 split 函数创建的每个列表,它在原始 df 中带来了 300 000 个级别,因此列表的大小很大。可能的解决方案是在创建的每个列表上使用 droplevels() 函数(如果一个列表太大而无法存储在 RAM 中,则不是最佳选择),使用 for 循环(此解决方案非常慢)或删除导致问题是我所做的。

res=split(dat[,c(-4,-9)], dat$`Type of region`, drop=TRUE)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在特定列中查找具有共同值的行

来自分类Dev

提取在R数据框中具有共同值的行

来自分类Dev

识别在两列中具有共同值的行

来自分类Dev

如何从多个具有相同值的字典中获取所有值到列表python中

来自分类Dev

两个表获取其他表中具有共同值或没有值的值

来自分类Dev

合并具有共同值的每一行的数据框中列内容

来自分类Dev

熊猫如何在Multiindex DataFrame中获取对索引级别具有多个值的行的列表

来自分类Dev

熊猫如何在Multiindex DataFrame中获取对索引级别具有多个值的行的列表

来自分类Dev

如何获取值列表中具有最小值的行

来自分类Dev

获取确实具有对值列表的引用但同时没有对其他值列表的引用的行

来自分类Dev

LINQ:获取列表中具有最大属性值的记录

来自分类Dev

如何获取具有哈希表的列表中的键的值

来自分类Dev

从具有列表值的字典中获取特定键值

来自分类Dev

如何从具有相同值的两列表中获取记录?

来自分类Dev

获取在pandas的各列中具有相同值的行

来自分类Dev

获取在pandas的各列中具有相同值的行

来自分类Dev

如何在sql中获取具有指定值的行?

来自分类Dev

在输出中获取具有公共列值的行

来自分类Dev

获取具有关注者和关注者的共同列表

来自分类Dev

合并具有共同元素的行

来自分类Dev

如何为A列中具有共同值的行将唯一值应用于A列

来自分类Dev

在bash / sed中,如何将具有共同字段的2行合并为1行

来自分类Dev

获取具有多个相同值的行

来自分类Dev

获取具有重复值的行

来自分类Dev

获取列具有特定值的行

来自分类Dev

获取具有最大值的行

来自分类Dev

如果我有多个具有相同值的行,如何从mysql结果中获取单个值

来自分类Dev

在二维网格(多维列表)中获取具有最大值的所有图块

来自分类Dev

从对象列表中获取具有最大值的对象的最有效方法

Related 相关文章

  1. 1

    在特定列中查找具有共同值的行

  2. 2

    提取在R数据框中具有共同值的行

  3. 3

    识别在两列中具有共同值的行

  4. 4

    如何从多个具有相同值的字典中获取所有值到列表python中

  5. 5

    两个表获取其他表中具有共同值或没有值的值

  6. 6

    合并具有共同值的每一行的数据框中列内容

  7. 7

    熊猫如何在Multiindex DataFrame中获取对索引级别具有多个值的行的列表

  8. 8

    熊猫如何在Multiindex DataFrame中获取对索引级别具有多个值的行的列表

  9. 9

    如何获取值列表中具有最小值的行

  10. 10

    获取确实具有对值列表的引用但同时没有对其他值列表的引用的行

  11. 11

    LINQ:获取列表中具有最大属性值的记录

  12. 12

    如何获取具有哈希表的列表中的键的值

  13. 13

    从具有列表值的字典中获取特定键值

  14. 14

    如何从具有相同值的两列表中获取记录?

  15. 15

    获取在pandas的各列中具有相同值的行

  16. 16

    获取在pandas的各列中具有相同值的行

  17. 17

    如何在sql中获取具有指定值的行?

  18. 18

    在输出中获取具有公共列值的行

  19. 19

    获取具有关注者和关注者的共同列表

  20. 20

    合并具有共同元素的行

  21. 21

    如何为A列中具有共同值的行将唯一值应用于A列

  22. 22

    在bash / sed中,如何将具有共同字段的2行合并为1行

  23. 23

    获取具有多个相同值的行

  24. 24

    获取具有重复值的行

  25. 25

    获取列具有特定值的行

  26. 26

    获取具有最大值的行

  27. 27

    如果我有多个具有相同值的行,如何从mysql结果中获取单个值

  28. 28

    在二维网格(多维列表)中获取具有最大值的所有图块

  29. 29

    从对象列表中获取具有最大值的对象的最有效方法

热门标签

归档