0

我有一个与此处发布的问题非常相似的问题:Subsetting for a minimum number of locations for MCP in R

这里是基于每组行数的子集数据框

我试图对一个数据集进行子集化,删除所有观察次数少于 5 的个人。

df <- data.frame(name = c(“a”, “a”, “a”, “a”, “a”, “a”, “b”, “b”, “b”), x = 1:9)

在这种情况下,仅保留单个“a”的记录

我设法使用上面链接中发布的任何解决方案很好地对我的数据集进行了子集化,但它仍然保留了所有个人的姓名和 0 条记录

例如在我的数据集中,table(df$name)

显示
ab
6 0

相反,我需要从数据集中完全摆脱这些人。(否则我仍然会收到错误行“至少需要 5 次重定位才能适应主范围”,因为小于 5 的名称仍保留在那里)

之前运行此行的技巧:
df$name<-as.numeric(df$name)
a
6

但是通过这种方式,我失去了个人的标签,这是我其余分析所需要的。

有什么建议么?谢谢

4

1 回答 1

0

没有您的完整代码,我很难给出答案。但是,下面的代码可以解决您的问题。

df <- data.frame(name = c("a", "a", "a", "a", "a", "a", "b", "b", "b"),
                 x = 1:9)
ss_df <-subset(df, df$name == "a")
ss_df$name <- factor(ss_df$name)

关键是您需要重置数据框的因子级别,为此factor使用了函数。

于 2018-03-08T00:54:59.803 回答