作者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/cn.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/cn.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