作者jasonfghx (工人)
看板R_Language
標題Re: [問題] GLM回歸請教
時間Fri Apr 6 16:06:34 2018
※ 引述《clansoda (小笨)》之銘言:
idx <- c(1, 3, 5) #假設你要1、3、5這三個variables
my_formula <-
as.formula(paste("Classkd ~ ", paste(colnames(training.data)[idx],
collapse = "+")))
剩下來的就是把你的logistic function裡面的formula改成上面這個就好了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.133.189
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1522983688.A.D9C.html
謝謝這位大大回應
但因為我的變數中的有空格
用你的語法會出問題
所以我改成這樣
as.formula(paste("Classkd ~ ", paste("'",new[c(1,3,4)] ,collapse = "+","'")))
加了一些'就正常了
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.254.88
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1523001997.A.4A2.html
1F:→ clansoda: 對的,做法只是一個概念,還是要依照資料做變化 04/06 16:10
再請教一下
my_formula <-as.formula(paste("Classkd ~ ", paste("'",new[idx] ,collapse =
"+","'")))
data.glm <- glm(my_formula,data.training,family="binomial")
我這樣做他有警示
Error in terms.formula(formula, data = data) :
invalid model formula in ExtractVars
想請教我可以怎麼改進?
※ 編輯: jasonfghx (180.217.254.88), 04/06/2018 16:40:25
data.glm <- glm(formula=Classckd~.,data=data.training,family="binomial")
我用這樣是全部都讀
Age -2.441e-09 1.827e+03 0 1
`Blood Pressure` 4.457e-09 2.665e+03 0 1
`Specific Gravity` 5.912e-06 7.377e+06 0 1
Albumin -7.880e-07 4.209e+04 0 1
Sugar -1.612e-07 8.159e+04 0 1
`Red Blood Cellsabnormal` 7.015e-07 7.672e+04 0 1
`Red Blood Cellsnormal` NA NA NA NA
`Pus Cellabnormal` -3.664e-07 8.803e+04 0 1
`Pus Cellnormal` NA NA NA NA
`Pus Cell clumpsnotpresent` -6.867e-07 1.370e+05 0 1
`Pus Cell clumpspresent` NA NA NA NA
Bacterianotpresent 1.807e-06 2.058e+05 0 1
Bacteriapresent NA NA NA NA
`Blood Glucose Random` 2.400e-10 7.645e+02 0 1
`Blood Urea` 7.269e-09 1.332e+03 0 1
`Serum Creatinine` -1.812e-07 2.287e+04 0 1
但我現在希望說我不要全部都去回歸
只是就語法上有的有` 有的沒有
就讓我很困擾
※ 編輯: jasonfghx (180.217.254.88), 04/06/2018 16:49:45
2F:→ clansoda: 不知道你的new是什麼東西 04/06 16:55
3F:→ clansoda: 因為我是用colnames來抓的 04/06 16:55
> my_formula <-as.formula(paste("Classckd ~ ",
paste("`",colnames(data.training)[idx],collapse ="+","`")))
> data.glm <- glm(my_formula,data.training,family="binomial")
Error in eval(predvars, data, env) : object ' Age ' not found
我跟你用一樣來討論好了 謝謝!!
※ 編輯: jasonfghx (180.217.254.88), 04/06/2018 17:23:41
4F:→ jasonfghx: 我覺得又是" Age " 中的space造成錯誤的 04/06 17:24
※ 編輯: jasonfghx (180.217.254.88), 04/06/2018 17:26:26
5F:→ clansoda: 那你要不要把你的colnames修正一下呢? 04/06 17:58
6F:→ clansoda: colnames(training.data) <- trimws(colnames(train.dat 04/06 17:59
7F:→ clansoda: a)) 04/06 18:00
8F:→ clansoda: 因為手上也沒有你的data,有時候作業系統也會有影響 04/06 18:00
9F:→ clansoda: 如果還是not work,就拿大絕招出來 04/06 18:02
10F:→ clansoda: training.data %>% select(c(1, 3, 5)) 04/06 18:03
11F:→ clansoda: 直接這樣做配上.來選你的model也可以,只是醜一點而已 04/06 18:03
12F:→ jasonfghx: 我覺得這題就乾脆用刪掉法比較快 04/06 22:23