我正在試圖擬合一個迴歸模型來解釋獨裁者遊戲中的捐款。由於我有很多變量,我想用'for'循環自動執行該過程。現在我從單變量模型開始。 當我打印/總結適合fit[1:24]
時,只顯示截距和係數。這似乎是p值不存儲?lm in for循環沒有存儲p值? (in R)
predictor<-0
fit<-0
dictatorgame<-mydata$dictatorgame
sumres<-0
pVal<-0
for(i in 1:24) #24 predictor variables stored in column 1-24 in mydata
{
predictor<-mydata[i]
unlist(predictor)
fit[i]<-lm(dictatorgame~unlist(predictor))
}
我嘗試了兩種不同的解決方案,我發現這裏的SO,他們兩人似乎認爲的對象是原子:
sumres[i]=summary(fit[i])
pf(sumres[i]$fstatistic[1L], sumres[i]$fstatistic[2L],sumres[i]$fstatistic[3L], lower.tail = FALSE)
和
pVal[i] <- (fit[i])$coefficients[,4]
但最後總是得到錯誤消息$ operator is invalid for atomic vectors
。
'predictor <-mydata [i]'似乎是錯的。如果'mydata'是一個data.frame,那麼它應該是'predictor <-mydata [,i]'。 – Alex
是的,這是我所做的更清潔的解決方案('unlist(predictor)')。在我的代碼中改變了它之後,我仍然沒有看到p值(截距和係數似乎是正確的)。 – YaeVo