1. 데이터 준비(dataframe)

age <- c(18, 23, 25, 35, 65,
         54, 34, 56, 72, 19,
         23, 42, 18, 39, 37)
maxHR <- c(202, 186, 187, 180, 156,
           169, 174, 172 ,153, 199,
           193, 174, 198, 183, 178)

df <- data.frame(age, maxHR)
df
##    age maxHR
## 1   18   202
## 2   23   186
## 3   25   187
## 4   35   180
## 5   65   156
## 6   54   169
## 7   34   174
## 8   56   172
## 9   72   153
## 10  19   199
## 11  23   193
## 12  42   174
## 13  18   198
## 14  39   183
## 15  37   178


2. Linear Regression model 그리기

lm()함수를 사용하는데, y ~ X : X에 따른 y값(결과값)이다.

인자는 (y칼럼 ~ X칼럼, data = df ) 형태로 들어가야한다.

그 결과로는 계수(coefficients)가 나오는데

  1. 1차함수의 절편인 (intercept)와 2) 기울기가 나온다.
lm_result <- lm(maxHR ~ age, data = df)
lm_result
## 
## Call:
## lm(formula = maxHR ~ age, data = df)
## 
## Coefficients:
## (Intercept)          age  
##    210.0485      -0.7977
print(paste("y(maxHR) =",lm_result$coefficients[2],"x(age) +" ,lm_result$coefficients[1]))
## [1] "y(maxHR) = -0.797726564933042 x(age) + 210.048458424167"

y(maxHR) = -0.7977(age) + 210.0485


3. Visualization with ggplot

ggplot(data=df, aes(X축칼럼, x축칼럼)) +

geom_그래프종류() +

xlab(“x축이름”) + ylab(“y축이름”) +

ggtitle(“그래프이름”) +

stat_smooth(method = lm, level=0.95) # 오차를 최소로 만드는 선을 linear model로 추가, 신뢰도 0.95로 지정가능

#install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(age, maxHR)) +
  geom_point() +
  xlab("AGE") +
  ylab("Maxium Heart Rate") +
  ggtitle("Relation betweeb Maxium Heart Rate and Age") +
  stat_smooth(method = lm, level = 0.95)

+ Recent posts