2
我有一個數據集,其中包含從校準中獲得的X和Y值,並且必須使用預定義的多項式函數列表對它們進行插值並選擇具有最佳R2的值。 最傻的功能應該是使用函數列表進行線性迴歸
try<-function(X,Y){
f1<- x + I(x^2.0) - I(x^3.0)
f2<- x + I(x^1.5) - I(x^3.0)
...
f20<- I(x^2.0) - I(x^2.5) + I(x^0.5)
r1<- lm(y~f1)
r2<- lm(y~f2)
...
r20<-lm(y~f20)
v1<-summary(r1)$r.squared
v2<-summary(r2)$r.squared
...
v20<-summary(r20)$r.squared
v<-c(v1,v2,...,v20)
return(v)
}
我想,然後使這個功能更短,更聰明(尤其是從R1的定義到底)。我還想給用戶提供選擇f1到f20之間的功能的可能性(輸入所需的行號v),並查看功能的輸出和其上的圖。
請問,你能幫助我嗎? 謝謝。
@mso:使用sapply的想法很好,但不幸的是,這樣我不使用多項式迴歸:我的x向量根據公式在f1向量中轉換,然後用於迴歸。我只獲得一個參數而不是3(在這種情況下)。
還有比最好的R^2更多的生活,所以要小心接受這是最好的方法。 – 2014-10-01 16:58:45
是的,我知道,我認爲在比較不同程度的多項式函數時更是如此,例如在這種情況下。不幸的是,誰讓我寫劇本不同意...... – Ndr 2014-10-01 17:44:25