2016-05-21 25 views
-5

16カ国で3240の観測データセットがあります。私は予測変数の効果が国によって異なると予想しているので、各国ごとに16の個別ロジスティックモデルを実行したいと思います。データフレーム内の個別のロジスティックモデル

Data <- data.frame(
X = sample(1:100), 
Y = sample(c("yes", "no"), 100, replace=TRUE),  
country=sample(c("UK","USA","Denmark","Norway","Iceland","Ireland","Sweden","Italy","France","Germany","Luxembourg","Belgium","Netherlands","Spain","Portugal","Greece"),100, replace=TRUE)) 

誰でもRでこれを行う方法について手掛かりがありますか?

+0

入力データのサンプルを使用して再現可能なサンプルを投稿すると、ヘルプを表示するのに適しています。 Rの問題を解決する方法があります。 – Gopala

+0

私は今編集しようとしていますので、ちょっと意味があります:) – champlos

+1

グループ変数で回帰を実行する方法を示す質問がたくさんあります。 1](http://stackoverflow.com/questions/1169539/linear-regression-and-group-by-in-r)[私はループを使用していますが、(psのmy2c、テストする価値があるかもしれない異なるものを想定しているのではなく、相互作用の用語を当てはめることで) – user20650

答えて

2

もちろん可能です。あなたの岩盤の質問に応じて、他のアプローチがより適切かもしれません(混合効果モデルのように)。

次の2つの例は同等です。あなたはそれに肉を追加することができます(係数を抽出するなど)。

sapply(Data$country, FUN = function(ctry) { 
    summary(glm(Y ~ X, data = Data, family = binomial, subset = country == ctry)) 
}, simplify = FALSE) # if simplify = FALSE, it is coerced to a matrix 

for (ctry in Data$country) { 
    print(# print has to be called explicitly inside a for loop 
    summary(glm(Y ~ X, data = Data, family = binomial, subset = country == ctry)) 
) 
} 
関連する問題