私は自分の質問に対する答えを検索しようとしましたが、私はStata(私はRを使用しています)の正解を見つけました。変数が時間不変であるかどうかを確認するR
私は、どの変数が補完的年金への投資に影響を与えるかを調査するために全国調査を使用しています(私の国では任意です)。
調査は2年ごとに実施され、一部の人は複数回面接されます。 filter
コマンドを実行している人に複数回出席するだけにするためにdfをフィルタリングしました。これは、既に濾過し、元の調査の例である:
year id y.b sex income pens
2002 1 1950 F 100000 0
2002 2 1943 M 55000 1
2004 1 1950 F 88000 1
2004 2 1943 M 66000 1
2006 3 1966 M 12000 1
2008 3 1966 M 24000 1
2008 4 1972 F 33000 0
2010 4 1972 F 35000 0
、ペン個々相補年金形態に投資場合、値1をとるダミーです。私は一定の変数が削除されたことを期待しかし、この回帰実行した後、このコマンドの後
df.p <- plm.data(df, c("id", "year")
:
を は私がplm
パッケージをロードするように、FE回帰を実行したかったし、私はこのようなDFを設定しました
pan1 <- plm (pens ~ woman + age + I(age^2) + high + medium + north + centre, model="within", effect = "individual", data=dd.p, na.action = na.omit)
(ここで、女性は、その人が女性である場合に値1をとり、高、中は教育レベル、北は中央、地理的地域を指します)、コマンドsummary(pan1)
の後に依然として可変女性が存在します。
この時点では、アンケートに間違いがあると思います(たとえば、セックスは正しく挿入されていないため、同じIDで同じではありませんでした)。それぞれのid、性別は一定です。
私はこのコードを試してみましたが、私はそれが正しいではないと確信しています:
df$x <- ifelse(df$id==df$id & df$sex==df$sex,1,0)
基本的な考え方は、このようなことshuold:
df$x <- ifelse(df$id=="1" & df$sex=="F",1,0)
が、私はDFので、手動でそれを行うことはできません40k観測まで構成されています。
変数がRで一定かどうかを確認する別の方法を知っていれば、私はうれしく思います。
は、私が何をやろうとしているが、各id
についてsex
のユニークな値の数を計算すると思い事前
どちらか 'DF $をx < - (ave(df $ sex、df $ id、FUN = function(x)length(ユニーク(x)))== 1)* 1'または 'aggregate 、df、FUN = function(i)length(unique(i))== 1)* 1'となります。 – Sotos