【问题标题】:R: subset a set of duplicatesR:子集一组重复项
【发布时间】:2023-03-28 21:27:02
【问题描述】:


想象一下这是我的 df

>df
gen A   B   C   D
M1  1   2   3   4
M1  8   6   5   3
M1  4   8   6   0
M1  8   5   6   3
M2  8   5   6   0
M2  0   2   8   6
M3  3   8   9   2
M3  8   9   5   6
M4  3   7   8   5
M4  5   6   3   2

这里,如何根据第一列对重复项集进行子集化,例如

M1  1   2   3   4
M1  8   6   5   3
M1  4   8   6   0
M1  8   5   6   3

非常感谢

【问题讨论】:

    标签: unique subset duplicate-detection


    【解决方案1】:

    这会奏效。

    > d
       gen A B C D
    1  M1   1 2 3 4
    2  M1   8 6 5 3
    3  M1   4 8 6 0
    4  M1   8 5 6 3
    5  M2   8 5 6 0
    6  M2   0 2 8 6
    7  M3   3 8 9 2
    8  M3   8 9 5 6
    9  M4   3 7 8 5
    10 M4   5 6 3 2
    > subset(d, (gen %in% c("M1")))
       h gen A C D
    1 M1   1 2 3 4
    2 M1   8 6 5 3
    3 M1   4 8 6 0
    4 M1   8 5 6 3
    

    用于以编程方式分组和循环:

    for (i in unique(d$gen)) { print(subset(d, (gen %in% c(i)))) } 
    

    【讨论】:

    • 是否可以在不指示“M1”的情况下进行子集化。因为,我喜欢在for循环里面进行。就像首先我喜欢子集“M1”,处理它,然后是“M2”,等等......谢谢!
    • 更新了答案:for (i in unique(d$gen)) { print(subset(d, (gen %in% c(i)))) }
    猜你喜欢
    • 2012-04-08
    • 2021-06-18
    • 1970-01-01
    • 2016-03-12
    • 2013-08-04
    • 2014-11-16
    • 2019-06-24
    • 2012-10-13
    • 1970-01-01
    相关资源
    最近更新 更多