# data 입력
ht <- c(160,155,165,166,170,176,169,169,180,178)
wt <- c(55,49,57,58,65,66,66,60,77,70)
# 산점도 그리기
plot(ht, wt)
# ggplot2 이용
dt <- data.frame(ht, wt)
ggplot(dt, aes(x=ht, y=wt)) + geom_point()
A”와 Y가 서로 양(+)의상관관계를가지면상관계수는0< Corr(X, Y) < 1의 값을 가지며.X와Y가 사로 음(-)의 상관관계를 가지면 상관계수는-1 < Corr(X,Y) <0의 값을 가진다. X와 Y가 일정한 규칙 없이 (+)값과 (-)값이 동시에 대응하면 상관계수는 0이다.
# 상관계수를 구하고 분석
cor.test(ht, wt)
# 예제
# data 입력
m<-matrix(c(1:10, (1:10)^2), ncol=2)
> m
[,1] [,2]
[1,] 1 1
[2,] 2 4
[3,] 3 9
[4,] 4 16
[5,] 5 25
[6,] 6 36
[7,] 7 49
[8,] 8 64
[9,] 9 81
[10,] 10 100
# 산포도 그리기
# 상관계수를 구하고 분석
범주형으로 구성된 자료듬 간의 연관관계를 확인하기 위해 교자표를
만들어 관계를 확인하는 분석 방법
변수들의빈도(frequency)를 이용하여상호 연관성을판단
검정통계량: 카이제곱 통계량
교자표 (Cross-tabuIation, Contingency TabIe)
2개의 조사 요인에 대한 자료값을 각각 행과 열로 배열하여 교자되
는 항목에 대한 빈도를 나타낸 표
교자표의 행과 열에 범주형 변수를 구분하여 입력
서로 연관성이 있는 빈도를 확인할 수 있음
여러 범주를 대상으로 각 범주들이 독립적인지를 판단하는 검정 방법
예. 어떤 상품에 대하여 지역과 구매의사는 서로 독립인가?
• 예. 어떤 상품의 구매 의사는 지역과 상관없이 일정한 분포를 따르는가?
예제1. 다음은 어떤 법안에 대한 찬반 결과를 투표자의 소득 수준에 따라 분류한 분할표이다. 소득 수준에 따른 찬반 결과가 서로 독립인지 검정하라.
# data 입력
income <- c(182,213,203,154,138,110)
level <- c("1.low","2.middle","3.high","1.low","2.middle","3.high")
opinion<- c("1.yes","1.yes","1.yes","2.no","2.no","2.no")
# table 형태로 변경
sample.table <- xtabs(income ~ opinion + level)
sample.table
# 분할표 검정을 위해 "gmodels" package 설치
install.packages("gmodels")
library(gmodels)
# Contingency Table 검정
CrossTable(sample.table, expected = TRUE)
# Chi-square Test
chisq.test(sample.table)
예제2. 주사위를 120번 던져 각 눈이 나온 횟수가 다음과 같았다.
이를 토대로 주사위가 공정한지 검정하라
# data 입력
x=c(31,26,22,18,13,10)
# 카이제곱 검정
chisq.test(x)
예제3. 대학생 400명을 대상으로 희망하는 직장과 전공을 조사한 결
과가 다음 표와 같다.
희망하는 직장과 전공은 서로 관계가 있는가?
# car 자료 이용
head(cars)
# 산점도를 통해 선형 관계 확인
plot(dist~speed, data=cars)
# 회귀모형 구하기
model <- lm(dist~speed, cars)
model
# 회귀선을 산점도 위에 표시
abline(model)
# y절편
coef(model)[1]
# 기울기
coef(model)[2]
# 예측값 구하기
b <- coef(model)[1]
a <- coef(model)[2]
speed <- 30
dist <- a*speed + b
dist
speed <- 35
dist <- a*speed + b
dist
speed <- 40
dist <- a*speed + b
dist
# 실제 주행속도
speed <- cars[,1]
# 예상 제동거리
pred <- a * speed + b
pred
# 오차
compare <- data.frame(pred, cars[,2], pred-cars[,2])
colnames(compare) <- c('예상','실제','오차')
head(compare)
# 산점도 그리기
# plot( ), pairs( )
plot(iris[1:4],main="scatter diagram")
# 산점도 그리기
# plot( ), pairs( )
plot(iris[1:4],main="scatter diagram")
pairs(iris[1:4],main="scatter diagram")
pairs(~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width,
data=iris,main="scatter diagram")
pairs(iris[1:4],upper.panel=NULL,main="scatter diagram")
# 산점도 그리기
# plot( ), pairs( )
plot(iris[1:4],main="scatter diagram")
# 선형회귀모형
model2 <- lm(Petal.Length ~ Petal.Width, iris)
summary(model2)
# estimates : 각 변수의 coefficients
# p-value : coefficients의 유의성 판단
# R-squared : 모형의 설명력
# F-statistic, p-value : 모형의 유의성 판단
# 추정된 회귀모형
model2$coef
model2$fitted
model2$resid