2015-10-13 55 views
0

我還沒有找到明確的答案來解決這個問題,所以希望有人能把我放在正確的方向!由具有特定行數的唯一ID變量構成的子集數據框

我有一個嵌套的數據框(面板數據),在多個人的多個觀察。我想通過那些具有至少20行數據的個人(id)來對我的數據框進行子集分類。

我曾嘗試以下:

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

但是,我仍然覺得個人有少於20行數據。

任何人都可以提供解決方案嗎?

在此先感謝現在

+0

請閱讀有關如何給出[最小可重現示例]的信息(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610)。 – Jaap

+0

謝謝,我將在未來努力做到這一點。 – user3237820

回答

1
subset1 = subset(df, as.logical(table(df$id)[df$id] >= 20)) 

,它應該工作。

子集函數實際上是從條件部分獲得一系列的真假,這表明該行是否應該保持或不符合條件。因此,條件部分的輸出應該是一系列的真或假。

但是,如果您將table(df$id)[df$id]>=20放在控制檯中,您將看到它會返回一個數組而不是邏輯。在這種情況下,你只需要把它變成邏輯就很直接了。然後,它的工作。

相關問題