中に2回以上現れる個人のみ取得するにはNAとDF:調査は隔年で行われ、いくつかの個人が繰り返し他人ながら、ちょうど1時間にインタビューをしているし。フィルタ私は回帰を実行するために全国調査を使用していますR
は、今私は(複数回表示されるだけで個人を持っている)DFパネル1にしたいです。 DFは、このようなものです:nquestは家族のコード番号です
year nquest nord nordp sex age
2000 10 1 1 F 40
2000 10 2 2 M 43
2000 30 1 1 M 30
2002 10 1 1 F 42
2002 10 2 2 M 45
2002 10 3 NA F 15
2002 30 1 1 M 32
2004 10 1 1 F 44
2004 10 2 2 M 47
2004 10 3 3 F 17
2004 50 1 NA M 66
、ノール個人やnordpのコード番号は、個人が前回調査に持っていたことをコード番号です。新しい個人がインタビューされたとき、nordpの値は "missing"(Rは自動的にNAを挿入する)です。たとえば、家族10の個人3は、彼女がインタビューされたのは初めてであるため、2002年にはnordp = NAを、2004年には3であった(3は2002年の数字であったため)。
家族の構成が変わる可能性があるため、dfをフィルタリングするためにnordを使用することはできません(たとえば、2002年の家族xでは母親がnordp = 2(2000年にはnord = 2でした)とnord = 2翌年のnordは1(例えば、離婚した場合)でもnordpはまだ2)でもかまいません。
私は、このコマンドを使用してフィルタリングすることを試みた:
df <- df %>%
group_by(nquest, nordp)
filter(n()>1)
が、同じ家族のために複数の個別のインサート(NA)がある場合、彼らはとさせていただきますので、私は右のDFを得ることはありませんnordp以来同じ人は初めてNAです。
はどのようにしても、特定の年(nordp = NA)に初めて現れる個々考えることができますか?私は年齢を使ってコマンドを作成しようとしました(年齢は(年齢(t-2)+2)と等しくなります;例えば、2000年齢は20歳、2002年は22歳ですが、それはうまくいかなかった)
DFは千回の観測によって構成されており、私は手動で確認することができないことを考えてみましょう
最終df
は次のようになります。。
year nquest nordp sex age
2000 10 1 F 40
2000 10 2 M 43
2000 30 1 M 30
2002 10 1 F 42
2002 10 2 M 45
2002 10 3 F 15
2002 30 1 M 32
2004 10 1 F 44
2004 10 2 M 47
2004 10 3 F 17
あなたがより多く表示されるだけで、個々がある見ることができるように1回とnquest=10 nordp=30
は3回出現する;私の命令では、最初の年にnordp
がNA
。
は、あなたが期待される出力を表示することができますが、ベースの私たちは、出力を各サブセットに
assignID
を適用し、nquest
によってデータフレームを分割し、rbind
例の上に – akrun'nquest、nord' *の与えられた組み合わせが人を特定しないと言っていますか?そのような場合は、データを保存する方法を変更する必要があります。家族のためのIDと、家族に依存しない個性のIDを持つ方がはるかに優れているので、あなたはidからだけでなく、combo family-personからその人を識別することができます。 – nicola
@akrun私はそこにdfを挿入することができなかったので答えに書いた –