したがって、2ウェイエフェクトを使用して時間とストア用にパネルデータを回帰したいと思います。パネルが完全にバランスされていればうまく動作しますが、なんらかの理由でそうでなければコードが固まってしまいます。 (https://stat.ethz.ch/pipermail/r-help/2010-May/239272.html参照)。データにNAがある場合のplmパッケージとtwoways効果を使用した回帰
私のデータは本質的に不均衡ではありませんが、いくつかのNAsを持っていますので、plm関数がNAを持つ行を削除すると不均衡になっていると思います。 私は持っているデータを例示するためのサンプルコードを書いた。
私はこれを実行した場合:
set.seed(123)
library(plm)
number.of.days <- 1100
number.of.stores <- 1000
days <- sort(rep(c(1:number.of.days),number.of.stores))
stores <- rep(c(1:number.of.stores),number.of.days)
data <- cbind.data.frame(stores,days,matrix(rnorm(number.of.days*number.of.stores*7),nrow=number.of.days*number.of.stores,ncol=7))
colnames(data)[3:9] <- c('y',paste0('x',1:6))
data <- plm.data(data,c("stores","days"))
fit <- plm(y ~ x1 + x2 + x3 + x4 + x5 + x6, data = data, index=c("stores","days"), effect="twoway", model="within")
をパネルでバランスが取れているので、それは正しく動作します。私はいくつかのNA値作成する場合は、:
data$y[sample(1:number.of.days*number.of.stores,150)] <- NA
data$x1[sample(1:number.of.days*number.of.stores,150)] <- NA
data$x2[sample(1:number.of.days*number.of.stores,150)] <- NA
data$x3[sample(1:number.of.days*number.of.stores,150)] <- NA
data$x4[sample(1:number.of.days*number.of.stores,150)] <- NA
data$x5[sample(1:number.of.days*number.of.stores,150)] <- NA
data$x6[sample(1:number.of.days*number.of.stores,150)] <- NA
をそして再び回帰を実行しよう:
fit <- plm(y ~ x1 + x2 + x3 + x4 + x5 + x6, data = data, index=c("stores","days"), effect="twoway", model="within")
それは動作しません。
私は店舗に「個」の効果を使い、時間のためにダミーを追加してみましたが、1100日が経過しているのでゆっくりとなります。
これはまれな問題ではないと思います。既知の解決策はありますか?
は(あまりにも、効率的かつ)
あなたのコードを実行しています私はメモリエラーがありませんでした: '8139Mbの総割り当て:help(memory.size)'を参照してください。ただし、サンプルサイズを小さくすると、エラーは消えます。それはあなたの実際のデータを取得するのと同じエラーですか? –
私が通常行うことであるLinuxサーバ上で実行すると、決して終了しません。しかし、ローカルのRStudioを試してみると、これは起こります。サイズについては正しいですが、私の実際のデータはまさに大きなものです – Thiagogpsm
"それは動作しません"という意味を明記してください。何らかのエラーメッセージが表示されるのですか、または信号が「機能しません」という動作が観察されますか? – Helix123