[問題] 如何使用迴圈跑變數命名

看板R_Language作者 (ss12356tw)時間6年前 (2018/03/29 17:10), 編輯推噓1(102)
留言3則, 3人參與, 6年前最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 正在用logistic regression的function 但因為模型要重複跑9次 不知道該如何使用迴圈處理變數命名的部分讓程式碼縮短 謝謝大家 [程式範例]: ml_1=glm(group[,1]~.,data=data,family = "binomial") p_1=predict.glm(ml_1,newdata=pendigits.tst[,-17], type="response") ml_2=glm(group[,2]~.,data=data,family = "binomial") p_2=predict.glm(ml_2,newdata=pendigits.tst[,-17], type="response") ml_3=glm(group[,3]~.,data=data,family = "binomial") p_3=predict.glm(ml_3, newdata=pendigits.tst[,-17],type="response") ml_4=glm(group[,4]~.,data=data,family = "binomial") p_4=predict.glm(ml_4,newdata=pendigits.tst[,-17], type="response") ml_5=glm(group[,5]~.,data=data,family = "binomial") p_5=predict.glm(ml_5,newdata=pendigits.tst[,-17], type="response") ml_6=glm(group[,6]~.,data=data,family = "binomial") p_6=predict.glm(ml_6,newdata=pendigits.tst[,-17], type="response") ml_7=glm(group[,7]~.,data=data,family = "binomial") p_7=predict.glm(ml_7, newdata=pendigits.tst[,-17],type="response") ml_8=glm(group[,8]~.,data=data,family = "binomial") p_8=predict.glm(ml_8,newdata=pendigits.tst[,-17], type="response") ml_9=glm(group[,9]~.,data=data,family = "binomial") p_9=predict.glm(ml_9,newdata=pendigits.tst[,-17], type="response") 我將ml_1~9改成i 發現沒辦法處理命名的部分 想請問該如何修正 謝謝 for(i in 1:9){ ml_i=glm(group[,i]~.,data=data,family = "binomial") p_i=predict.glm(ml_i,newdata=pendigits.tst[,-17], type="response") } 跑出的錯誤: Error in as.data.frame.default(data, optional = TRUE) : cannot coerce class ""function"" to a data.frame [環境敘述]: 3.4.3 [關鍵字]: 變數命名迴圈 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.10.143.249 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1522314614.A.2A7.html

03/29 17:30, 6年前 , 1F
不建議這樣做,把九個結果弄成list會比較好
03/29 17:30, 1F

03/29 20:18, 6年前 , 2F
謝謝
03/29 20:18, 2F

03/30 11:21, 6年前 , 3F
assign+paste可以
03/30 11:21, 3F
文章代碼(AID): #1QlArsAd (R_Language)
文章代碼(AID): #1QlArsAd (R_Language)