【问题标题】:Subset dataframe by unique id variables with certain number of rows通过具有一定行数的唯一 id 变量子集数据帧
【发布时间】:2016-01-11 11:43:52
【问题描述】:

我还没有找到这个问题的明确答案,所以希望有人能把我引向正确的方向!

我有一个嵌套数据框(面板数据),其中包含多个个体的多个观察值。我想通过那些至少有 20 行数据的个人 (id) 对我的数据框进行子集化。

我尝试了以下方法:

subset1 = subset(df, table(df$id)[df$id] >= 20) 

但是,我仍然发现个人数据少于 20 行。

谁能提供解决方案?

提前致谢

【问题讨论】:

标签: r subset panel-data


【解决方案1】:
subset1 = subset(df, as.logical(table(df$id)[df$id] >= 20)) 

现在,它应该可以工作了。

子集函数实际上是从条件部分得到一系列真假,这表明该行是否应该保留/是否满足条件。因此,条件部分的输出应该是一系列真或假。

但是,如果您将table(df$id)[df$id]>=20 放在控制台中,您将看到它返回一个数组而不是逻辑。在这种情况下,您只需将其转换为逻辑就很简单了。然后,它起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 2021-06-25
    • 1970-01-01
    相关资源
    最近更新 更多