2016-04-07 14 views
0

ループを介して異なる時間間隔でデータを合計しており、最後に線形モデルを使用しています。現在、私が必要とするすべての係数をハードコーディングしてデータフレームに追加しています。ループが終了すると、CSVをエクスポートしています。Rからのモデルのエクスポートループから

問題は、私は多くの変数を持っており、繰り返しごとにすべてをエクスポートしたいと考えています。

これを行う方法はありますか?理想的には、それぞれの独立変数の係数、モデルの独立したP値のP値、モデルの調整されたR2、およびエクスポートを引き出したいと思います。

アイデアはありますか?基本的には

outputs <- matrix(,ncol=4) 

for(size in seq(20,30, by= 10)) 
{ 
for(i in 2:nrow(df_first)) 
{ upperWindow <- as.numeric(df_first$time) <= 
(as.numeric(perf$time[i])+g*60) 
lowerWindow <- df_first$time >= perf$time[i]  
total[i] <- sum(perf$total [upperWindow & lowerWindow]) 
} 
fit <- lm(total ~ x + y) 

model_coef <- coefficients$fit 

outputs <- rbind(model_coef, size, fit$adj.r.squared) 
} 
write.table (outputs, file =~) 

、私は私が実行しているモデルのうち、すべての係数、Rsquareds、およびサイズを引っ張って、CSVにエクスポートしたいと思います:これは、ループがどのように見えるかです。私は、エラーメッセージが出続ける「属性は、メジャー変数間で同じではありません。彼らはドロップされます」

+0

は難しくはありませんが、最小限の再現可能な例を投稿してください。線形モデルを解くためにlm()、glm()などを使用していますか?答えはこれらの詳細によって決まります。 – dww

+0

私はLM()を使用しています – Julia

+0

[線形回帰からp値とr二乗を取り出す]可能な複製(http://stackoverflow.com/questions/5587676/pull-out-p-values-and-r)線形回帰からの二乗) – dww

答えて

0

ませ再現性の例がそうここに設けられていないあなたの線形モデルから必要な値を抽出する方法の一般的な例ですした

ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) 
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) 
group <- gl(2, 10, 20, labels = c("Ctl","Trt")) 
weight <- c(ctl, trt) 
fit <- lm(weight ~ group) 
sumfit <- summary(fit) 

を次のように私たちはいずれかフィット係数の方法を使用して、または

coeffs <- fit$coefficients 

と要約統計量のように$を使用してからの係数を得ることができます

r.squared <- sumfit$r.squared # r squared 
adj.r.sq <- sumfit$adj.r.squared # adjusted r squared 
coeff.p <- sumfit$coefficients[,4] # p values for each coefficient 

他の値fitおよびsumfitも同様の方法で抽出できます。それらの値を見て、利用可能なものを見てください。

関連する問題