gpt4 book ai didi

删除属于指定长度因子的数据集的行

转载 作者:行者123 更新时间:2023-12-04 17:24:10 24 4
gpt4 key购买 nike

我有一个类似于以下内容的 data.frame:

df <- data.frame(population = c("AA","AA","AA","BB","BB","CC","CC","CC"),
individual = c("A1","A2","A3","B1","B2","C1","C2","C3"),
Haplotype1 = rep(1:4,2),
Haplotype2 = rep(5:8,2))
> df
population individual Haplotype1 Haplotype2
1 AA A1 1 5
2 AA A2 2 6
3 AA A3 3 7
4 BB B1 4 8
5 BB B2 1 5
6 CC C1 2 6
7 CC C2 3 7
8 CC C3 4 8

我想创建一个新的数据集,其中包含少于一个的任何人口
数据集中省略了指定数量的个体。例如,我
想要仅重新分析具有大于三个或多个群体的数据
更多的个人。以下是我想要的数据集:
> df <- df[!df$population=="BB",]
> df
population individual Haplotype1 Haplotype2
1 AA A1 1 5
2 AA A2 2 6
3 AA A3 3 7
6 CC C1 2 6
7 CC C2 3 7
8 CC C3 4 8

然而,我有 400 个种群,大小从 5 到 155 个不等,并且
手动按名称挑选种群是不可行的。我想写一个
我在本质上说的功能“给我一个包含所有人群的数据集
由X个或更多的人组成,并删除少于
X。”感谢任何帮助或反馈。

最佳答案

这应该可以解决问题:

tab <- table(df$population) > 2
df[df$population %in% names(tab)[tab], ]

# population individual Haplotype1 Haplotype2
# 1 AA A1 1 5
# 2 AA A2 2 6
# 3 AA A3 3 7
# 6 CC C1 2 6
# 7 CC C2 3 7
# 8 CC C3 4 8

关于删除属于指定长度因子的数据集的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069949/

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