gpt4 book ai didi

r - 如果条目出现的次数少于 x 次,则删除数据框中的行

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

我有以下数据框,称为 df,它是一个由三个向量组成的数据框:“Name”、“Age”和“ZipCode”。

df=      
Name Age ZipCode
1 Joe 16 60559
2 Jim 20 60637
3 Bob 64 94127
4 Joe 23 94122
5 Bob 45 25462

我想删除 df的整行如果 Name在它作为一个整体在数据框中出现的次数少于 2 次(并且灵活地出现 3、4 或 x 次)。基本保持 BobJoe在数据框中,但删除 Jim .我怎样才能做到这一点?

我试着把它变成一张 table :
> table(df$Name)

Bob Jim Joe
2 1 2

但我不知道从那里去哪里。

最佳答案

您可以使用 ave像这样:

df[as.numeric(ave(df$Name, df$Name, FUN=length)) >= 2, ]
# Name Age ZipCode
# 1 Joe 16 60559
# 3 Bob 64 94127
# 4 Joe 23 94122
# 5 Bob 45 25462

此答案假设 df$Namecharacter向量,不是 factor向量。

您也可以继续使用 table如下:
x <- table(df$Name)
df[df$Name %in% names(x[x >= 2]), ]
# Name Age ZipCode
# 1 Joe 16 60559
# 3 Bob 64 94127
# 4 Joe 23 94122
# 5 Bob 45 25462

关于r - 如果条目出现的次数少于 x 次,则删除数据框中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20626479/

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