회귀 분석: '기울기가 0이 아니다'를 주장하는 것.(베타가 0이 아니다를 주장)
- 종속변수: 연속형
독립변수: 연속형
## 데이터 cars에 대해 종속변수 dist, 독립변수 speed 간의 단순선형회귀 분석을 하자.
res = lm(dist ~ speed, data=cars) #리니어 라인
plot(cars)
abline(res) # 직선 긋기
res
summary(res) # speed가 1증가 할때 dist가 3.9324 증가한다고 나옴. Y = -17.6 +3.9x
# r square는 모델의 설명력. speed가 dist를 65퍼센트 설명한다는 것.
- 종속변수: 연속형
독립변수: 바이너리 범주형
## 데이터 PlantGrowth에서 변수 group 값이 ctrl인 그룹과 아닌 그룹 간의 단순선형회귀 분석을 해보자.
data = PlantGrowth
View(data)
data$gr = ifelse(data$group =="ctrl",0,1)
plot(weight ~ gr, data = data)
plot(weight ~ factor(gr), data=data) #전체적 분포를 더 쉽게 보여줌. ctrl이 아닌게 더 정규분포를 따를것같음.
res=lm(weight ~ gr, data=data)
#해석: x가 바이너리 변수이면 -> 컨트롤그룹(0)이 ref가 됨.
summary(res) #Y=5.03 + 0.06x 그러나 p value가 0.05보다 큼.. 설명력도 1프로..
res = lm(weight~factor(gr),data=data) #바이너리일 땐, factor 안해줘도 동일.
summary(res)
- 종속변수: 연속형
독립변수: 범주형(>=3 groups)
## 데이터 PlantGrowth를 이용하여 group 변수(ctrl,trt1,trt2)의 단순선형회귀 분석을 해보자.
data$gr = ifelse(data$group=="ctrl", 0, ifelse(data$group=="trt1",1,2))
res = lm(weight ~ gr, data=data)
summary(res) #gr이 1증가할 때 0.24만큼 변한다는것-> 그룹의 의미가 아님!!
# factor로 보기
res = lm(weight ~ group, data=data)
summary(res)
res = lm(weight ~ factor(gr), data=data) #추가)리니어 모델은 t-test와 아노바를 포괄함
summary(res)
# dummy variable화
group = gr d1 d2
ctrl = 0 0 0
trt1 = 1 1 0
trt2 = 2 0 1