R中MCP的最小位置数的子集化,删除单个名称



我有一个与这里发布的问题非常相似的问题:R 中 MCP 最小位置数的子集

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

我尝试对数据集进行子集,丢弃所有观测值少于 5 个的个体。

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

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

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

例如,在我的数据集中,表(DF $名称)

显示
A B
6 0

相反,我需要从数据集中完全摆脱这些人。 (否则我仍然得到错误行"至少需要 5 次搬迁才能适合家庭范围",因为少于 5 个的名称仍然保留在那里)

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

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

有什么建议吗?谢谢

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

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函数。

最新更新