교수님 안녕하세요
교수님이 쓰신 r통계와 그래프 및 웹에서 하는 r 통계를 참고로 많이 배우고 있습니다.
지금 초보적이지만 r을 쓰려고 노력하고 있는데요
여기 web-r에서 하는 것처럼 multivariable logistic regression에서 p value가 0.2이상인 것을 자동으로 골라서
multivariable analysis를 r 에서도 구현하고 싶습니다.
현재는 제가 하고 있는 방법은 각각 univariate로 (glm) 돌려서 그중에서 매뉴얼로 제가 p가 0.2이상인것을 골라서
full model을 glm로 만든후 step을 사용해서 시행하고 있습니다
(spss에서 돌리는 것과 비슷하게 하고 있습니다)
full.model=glm(Murder-a+b+c+d ,data=states)
reduced .model=step (full.model ,direction= "backward" )
하지만 변수가 많아지니까 30개 넘는 것에서 고르는 곳도 생각보다 시간도 오래걸리고 실수할 확률도 높아지는거 같아서요
혹시 full.model에서 전부 넣고 step을 사용하면 자동으로 p value 0.2이상인 것만 multivariable에 들어가게 되는건가요??
web-r처럼 p value 를 조정하려면 어떻게 해야하나요?;
그리고 자동이라면 multivable로 들어가는 것은 무엇인지 어떻게 알게되나요??
그리고 r통계와 그래프에서 보면 AIC로 하는 방법도 있다고 하시고 또한 shrinkageO 패키지와 all subset regression을 사용하는 법도 언급하셨는데요.
어느 방법의 사용을 추천하시는지도 궁금합니다-!
감사합니다-!!
Comment 2
-
cardiomoon
2017.07.14 15:18
-
권혜미
2017.07.14 17:26
그렇다면 혹시......
univariate에서 p<0.2이하인 것을 자동으로 선택하는 패키지나 코드가 잇을까요?ㅠㅠ
현재는 variable들 glm(A~variable1개, data=abc)을 lapply로 해서 나온 결과를 결과 나온걸 제가 매뉴얼로 고르고 잇습니다.ㅠ
1) step함수는 p값과 상관없이 AIC 값을 기준으로 모형을 골라줍니다.
2) full model에 어떤 설명변수를 넣을지는 연구자가 정하는 것입니다. 웹R에서는 univariate analysis를 해서 사용자가 정해준 p 값의 threshold 이하인 것을 골라서 full model에 넣어줍니다.
(하나하나 비교하는 것입니다.)
3) step() 함수의 결과와 all subset regression의 결과, Cp plot의 결과가 일치하면 좋겠지만 일치하지 않는다면 연구자가 골라야 하겠죠.^^