0

この質問に対する明確な答えが見つからないので、誰かが私を正しい方向に導いてくれることを願っています!

ネストされたデータ フレーム (パネル データ) があり、複数の個人内に複数の観測値があります。少なくとも 20 行のデータを持つ個人 (id) でデータ フレームをサブセット化したいと考えています。

私は次のことを試しました:

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

ただし、データが 20 行未満の個人もまだ見つかります。

誰でも解決策を提供できますか?

前もって感謝します

4

1 に答える 1

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

これで、動作するはずです。

サブセット関数は実際には、条件部分から一連の true と false を取得しています。これは、行を保持する必要があるかどうか、または条件を満たしているかどうかを示します。したがって、条件部分の出力は、一連の true または false になるはずです。

ただし、table(df$id)[df$id]>=20コンソールに入力すると、ロジックではなく配列が返されることがわかります。この場合、それをロジックに変換する必要があることは非常に簡単です。次に、それは動作します。

于 2015-10-13T16:58:30.640 に答える