본문 바로가기
[R]

[R] 회귀분석 결과 테이블로 예쁘게 나타내기(feat.tab_model)

by 모모바미키라리 2022. 11. 23.

안녕하세요 - ! 

오늘은 R로 회귀분석을 하고 예쁘게 나타내는 방법에 대해서 포스팅 할거에요.

 

0. 패키지 설치 및 불러오기

install.packages("sjPlot")
library(sjPlot)
library(moonBook)
data(acs)

 

1. 회귀분석하기

acs 데이터 셋에 있는 EF를 종속변수, TC, LDLC, HDLC,TG를 독립변수로 두고 회귀분석을 해볼게요 - !

lm(EF ~ TC + LDLC + HDLC + TG, data= acs)

결과는 이렇게 나오는데 너무 간단명료하고 허접한 느낌이 들죠. 뒤에 summary()를 추가해주면 더 자세한 결과를 볼 수 있어요

 

1-2. summary 추가하기

lm(EF ~ TC + LDLC + HDLC + TG, data=acs) %>% summary()

 

단지 summary만 추가했을뿐인데 훨씬 보기 좋고 자세한 테이블이 출력돼요 ~! 하지만 좀 더 보기좋게 표현 할 수 있어요

 

2. 테이블로 시각화하기(feat.tab_model)

tab_model(lm(EF ~ TC + LDLC + HDLC + TG, data=acs))

논문 같은곳에서 볼 수 있을 법한 깔끔한 표로 출력이 되는걸 볼 수 있어요 ~

 

3. 회귀분석 여러개 하고싶다.

만약 여러개를 하고 싶다. 나는 EF 뿐만 아니라 Height, Weight까지도 한번에 확인하고 싶다 하면,

tab_model(lm(EF ~ TC + LDLC + HDLC + TG, data=acs), 
lm(weight ~ TC + LDLC + HDLC + TG, data=acs), 
lm(height ~ TC + LDLC + HDLC + TG, data=acs))

 

로 입력하면 요렇게 여러개도 한번에 출력돼요! 

 

저는 R을 사용할때 변수가 많아지는게 싫어서 따로 저장을 안하는데 불편하신 분들은

lm_ef <- lm(EF ~ TC + LDLC + HDLC + TG, data=acs)
lm_weigt <- lm(weight ~ TC + LDLC + HDLC + TG, data=acs)
lm_height <- lm(height ~ TC + LDLC + HDLC + TG, data=acs)
tab_model(lm_ef,lm_weight, lm_height)

위에 코드로 실행하시면 결과는 똑같아요 ~!

 

 

각 변수의 신뢰구간과 P-value, 모델의 설명력까지 나타나요 - !

처음 만들었던 표 보다 훨씬 보기좋고 깔끔하죠^^

 

댓글