Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- version 1
- 반복없음
- 글쓰기
- 정규분포
- css
- 이원배치 분산분석
- 산점도
- 혼합효과모형
- 두 평균의 비교
- html
- 고정효과모형
- 티스토리챌린지
- 반복있음
- 통계학
- 인공지능
- 데이터 과학
- r
- 확률
- 변량효과모형
- 모평균에 대한 통계적추론
- 가설검정
- 분산분석
- 에세이
- 오블완
- 추정
- 이항분포
- JavaScript
- 변동분해
- 경제학
- 회귀분석
Archives
- Today
- Total
생각 작업실 The atelier of thinking
103. R을 이용한 회귀분석 본문
Chapter 103. R을 이용한 회귀분석(Regression Analysis)
1. 자료 불러오기
◈ 예제 : 올림픽 100미터 우승 기록
Andrew Tatem 등이 2004년 9월 Nature에 발표한 논문으로, 1896~2004년까지의 남자와 여자의 육상 100m 우승 기록을 분석한 자료입니다. 그 자료에 2016년까지 자료를 추가하였습니다.
연도 | 우승기록 | 연도 | 우승기록 | 연도 | 우승기록 | |||
남자 | 여자 | 남자 | 여자 | 남자 | 여자 | |||
1896 | 12 | 1936 | 10.3 | 11.5 | 1988 | 9.92 | 10.54 | |
1900 | 11 | 1948 | 10.3 | 11.9 | 1992 | 9.96 | 10.82 | |
1904 | 11 | 1952 | 10.4 | 11.5 | 1996 | 9.84 | 10.94 | |
1908 | 10.8 | 1956 | 10.5 | 11.5 | 2000 | 9.87 | 10.75 | |
1916 | 10.8 | 1960 | 10.2 | 11.0 | 2004 | 9.85 | 10.93 | |
1920 | 10.8 | 1964 | 10.0 | 11.4 | 2008 | 9.69 | 10.78 | |
1924 | 10.6 | 1968 | 9.9 | 11.0 | 2012 | 9.63 | 10.75 | |
1928 | 10.8 | 12.2 | 1976 | 10.14 | 11.07 | 2016 | 9.81 | 10.71 |
1932 | 10.3 | 11.9 | 1984 | 10.06 | 10.97 |
olympic <- read.csv("100m.csv", header = TRUE, fileEncoding = "CP949",
encoding = "UTF-8")
head(olympic)
year record gender
1 1896 12.0 M
2 1900 11.0 M
3 1904 11.0 M
4 1908 10.8 M
5 1912 10.8 M
6 1920 10.8 M
2. 산점도
남녀 구분없이 모든 자료에 대한 산점도입니다.
plot(record~year,data=Olympic,ylab="기록(초)",xlab="연도",
main="올림픽 육상 100m 우승기록")
남녀를 구분하여 산점도를 그려보겠습니다.
male <- subset(olympic,gender=="M")
female <- subset(olympic,gender=="F")
with(male,plot(year,record,col="blue",ylim=c(9,13),pch=16,cex=1.2,
xlab="연도",main="올림픽 육상 100m 우승기록"))
with(female,points(year,record,col="red",pch=16,cex=1.2))
legend(2000,13,legend=c("남자","여자"),col=c("blue","red"),
pch=c(16,16),bty="n")
3. 선형회귀분석
선형회귀분석에는 lm( ) 함수를 사용합니다.
lm(formula, data)
formula: 분석할 모델을 지정하는데 사용됩니다.
일반적으로 종속 변수와 독립 변수 간의 관계를 나타내는 공식으로 지정됩니다.
data: 분석에 사용할 데이터 프레임을 지정합니다.
(1) 선형회귀분석 - 남자
male <- subset(olympic,gender=="M")
lm(record~year,data=male)
Call:
lm(formula = record ~ year, data = male)
Coefficients:
(Intercept) year
34.9884 -0.0126
남자 기록은 기울기는 -0.0126 이고, 절편은 34.9884 입니다. 남자의 기록은 년도에 따라 감소하는 선 그래프로 나타납니다.
회귀분석모형을 그래프로 나타내면,
male.lm<-lm(record~year,data=male)
plot(record~year,data=male,col="blue",ylim=c(9,12),pch=16,xlab="연도")
abline(male.lm,col='green',lwd=2)
(2) 선형회귀분석 - 여자
female <- subset(olympic,gender=="F")
lm(record~year,data=female)
Call:
lm(formula = record ~ year, data = female)
Coefficients:
(Intercept) year
40.54323 -0.01488
여자기록은 기울기는 -0.01488 이고 절편은 40.54323 입니다. 여자 기록 역시 연도에 따라 감소하는 기울기를 보이고 있습니다.
이를 그래프로 표현하면 아래와 같습니다.
female.lm <- lm(record~year,data=female)
plot(record~year,data=female,col="red",ylim=c(10,13),pch=16,xlab="연도")
abline(female.lm,col='green',lwd=2)
위 남녀 우승기록를 합쳐서 나타내면,
male <- subset(olympic,gender=="M")
male.lm<-lm(record~year,data=male)
female <- subset(olympic,gender=="F")
female.lm <- lm(record~year,data=female)
with(male,plot(year,record,col="blue",ylim=c(9,13),pch=16,
xlab="연도", main="올림픽 육상 100m 우승기록"))
with(female,points(year,record,col="red",pch=16))
abline(male.lm,col='green',lwd=2)
abline(female.lm,col='green',lwd=2)
legend(2000,13,legend=c("남자","여자"),col=c("blue","red"),
pch=c(16,16),bty="n")
'통계학 이야기' 카테고리의 다른 글
105. 회귀 계수에 대한 통계적 추론 (0) | 2024.08.27 |
---|---|
104. 회귀분석에서의 통계적 추론 (0) | 2024.08.22 |
102. 단순선형 회귀모형 (1) | 2024.07.26 |
101. 회귀분석(Regression Analysis)이란 (1) | 2024.07.25 |
100. R을 이용한 이원배치 분산분석 (2) | 2024.07.24 |