
[R] [plot() 함수] 추세선 그리기 - plot(), abline()
앞선 포스팅에서 산점도를 그리는 방법을 소개하였다.(2022.12.07 - [[R] 그래프 작성] - [R] [plot() 함수] 산점도 그리기 (1) - plot(), colors())산점도를 그리고 난 뒤에는 추세선을 같이 그리기도 하는데, 추세선을 그리는 방법은 여러 가지가 있다. 여기에서는 선형 추세선을 그리는 법에 대해 소개하겠다.
*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.
2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.12.18)
분석용 데이터 (update 22.12.18)
2022년 12월 18일 버전입니다. 변수는 계속하여 추가될 예정입니다. 다음 카테고리에 있는 글에서 이용된 데이터입니다. - 기술 통계 - 범주형 자료 분석 - 모평균 검정 - 상관분석 - 반복 측정 자료
medistat.tistory.com
코드를 보여드리기에 앞서 워킹 디렉토리부터 지정하겠다.
워킹 디렉토리에 관한 설명은 다음 링크된 포스트에서 볼 수 있다.
2022.08.05 - [통계 프로그램 사용 방법/R] - [R] 작업 디렉토리 (Working Directory) 지정 - getwd(), setwd()
setwd("C:/Users/user/Documents/Tistory_blog")
데이터를 불러와 df에 객체로 저장하겠다.
데이터 불러오는 방법은 다음 링크에서 볼 수 있다.
2022.08.05 - [통계 프로그램 사용 방법/R] - [R] 데이터 불러오기 : EXCEL - read_excel(), read.xlsx()
2022.08.10 - [통계 프로그램 사용 방법/R] - [R] 데이터 저장하기 : CSV 파일 - write.csv(), write_csv()
2022.08.10 - [통계 프로그램 사용 방법/R] - [R] 데이터 불러오기 : SAS file (.sas7bdat) - read.sas7bdat(), read_sas()
install.packages("readr")
library("readr")
df<-read_csv("Data.csv")
목표: SBP와 CVD_RISK의 산점도를 그리고, 가장 잘 표현하는 추세선을 그려라
산점도 그리기- 코드
plot(df$SBP, df$CVD_RISK)
결과

이 둘은 어떤 선형 관계가 있는 것 같고 그 관계식을 구하는 법은 선형 회귀분석이다. 이는 다음 링크를 확인하길 바란다. 2022.12.22 - [선형 회귀 분석/R] - [R] 단순 선형 회귀 분석 (Simple linear regression) - lm()
우리는 다음 선형 회귀 분석을 통해 y절편이 23.036415, 기울기가 1.101935임을 알 수 있다.
선형 회귀 분석 코드
LR_SBP_CVD<-lm(CVD_RISK~SBP, data=df)
LR_SBP_CVD$coefficients
결과
(Intercept) SBP
23.036415 1.101935
추세선 그리기
선형 추세선은 abline()이라는 함수를 이용한다. abline의 첫 번째 자리에는 y절편을, 두 번째 자리에는 x절편을 넣으면 된다.
abline(23.036415, 1.101935)
결과

그런데, 색깔이 표본의 색과 검은색으로 같아 눈에 잘 띄지 않는다. 색깔은 파란색으로 바꿔주도록 한다. 색깔에 관한 내용은 다음 포스팅을 참고하길 바란다.2022.12.07 - [[R] 그래프 작성] - [R] [plot() 함수] 산점도 그리기 (1) - plot(), colors()
그리고, 너무 얇아 티가 나지 않으므로 "lwd"라는 옵션을 사용하여 선의 굵기 (Line WiDth)를 조정하겠다. 숫자를 바꿔가며 본인에게 맞는 굵기를 정하면 된다. 필자는 3으로 하겠다.
코드
abline(23.036415,1.101935, col="blue", lwd=3)
결과

추세선을 그리는 다른 방법
"23.036415","1.101935"라는 숫자를 적기가 너무 귀찮을 수도 있다. 이 값들은 각각 LR_SBP_CVD$coefficients의 첫 번째, 두 번째 값이므로 다음과 같이 표현할 수도 있다.
abline(LR_SBP_CVD$coefficients[1],LR_SBP_CVD$coefficients[2], col="blue", lwd=3)
혹은 그냥 단순 선형 회귀 분석을 저장한 객체를 넣는 것도 방법이 된다.
abline(LR_SBP_CVD, col="blue", lwd=3)
위 두개 코드는 같은 결과를 내준다.
[R] [plot() 함수] 추세선 그리기 정복 완료
작성일: 2022.12.22.
최종 수정일: 2022.12.23.
이용 프로그램: R 4.2.2
RStudio v2022.07.2
RStudio 2022.07.2+576 "Spotted Wakerobin" Release
운영체제: Windows 10, Mac OS 12.6.1
'[R] 그래프 작성' 카테고리의 다른 글
[R] [plot() 함수] 산점도 그리기 (1) - plot(), colors() (0) | 2022.12.07 |
---|