본문 바로가기

R프로그래밍

[R프로그래밍] 샘플링(sampling)과 기초통계, 상관계수

"평균이 얼마인데?" 와 같은 말을 자주 들어봤을 것이다.

평균, 합계, 표준편차, 분산, 상관점수 등 기초통계량은 우리가 직관적으로 어떤 현상을 짐작하는데 도움이 되기 때문이다.  기초통계량은 우리에게 중요한 정보가 된다.

 

 

 

< 샘플링을 통한 임의 데이터 생성 >

실습에 사용할 데이터를 편하게 생성하기 위해 샘플링(sampling) 함수를 이용할 수 있다.

샘플링은 sample(샘플링 할 값의 범위, size=샘플링 할 개수, replace=T or F (중복추출 여부)) 로 할 수 있다.

 

# generate data in sampling

ID <- 1001:1050
age <- sample(20:60, size=50, replace=T)
height <- sample(150:190, size=50, replace=T)
weight <- sample(50:90, size=50, replace=T)
gender <- sample(c("M", "F"), size=50, replace=T)

df <- data.frame(ID, age, height, weight, gender)

str(df)

df$ID <- as.character(df$ID)
str(df)
df[1:10,]

 

 

※ 데이터는 샘플링(랜덤추출)한 데이터이므로 실습자마다 데이터가 다 다를 것이다.

 

 

 

 

 

< 기초통계 >

1) 평균 mean(변수)

   ※ NA값이 포함되어 있다면 mean(변수, na.rm=T)

2) 중앙값 median(변수)

3) 합계 sum(변수)

4) 로그 log(변수)

5) 표준편차 sd(변수)

6) 분산 var(변수)

7) 상관계수 cor(변수)

8) 변수의 길이 값 length(변수)

9) 요약통계값 summary(데이터명)

 

mean(df$age)
median(df$age)

sum(df$age)

log(df$height)

sd(df$height)
var(df$height)

cor(df$weight, df$height)

length(df$height)

summary(df)

 

 

 

 

 

< 상관계수 >

상관계수는 두 수치형 변수(X, Y)의 상관관계를 확인할 때 쓰이는 통계값이다.

산점도(Scatter Plot)를 그렸을 때

X의 값과 Y의 값이 동시에 증가하는 모습이면 양의 상관관계이고,

동시에 감소하는 모습이면 음의 상관관계, 그리고 별다른 상관관계가 없는 경우가 있다.

 

상관계수 r은 -1 < r < 1 사이의 값을 가지며

1에 가까울 수록 양의 상관관계, -1에 가까울 수록 음의 상관관계이다.

 

0에 가까우면 상관관계는 없다. 

(두 변수의 관계가 없는 것은 아니고, 선형 상관관계는 없다.)

 

 

※ 상관관계는 인과관계와는 다르다.

 

 

# correlation example
months <- 1:12
sales <- c(7323, 7016, 8820, 10207, 19242, 24094, 26801, 25066, 10467, 6758, 5679, 5942)
temperature <- c(-6, -2, 7.2, 12, 18.2, 24.2, 27.8, 28.8, 21.5, 13.1, 7.8, -1.2)

icecream <- data.frame(months, sales, temperature)
icecream

cor(icecream$temperature, icecream$sales)
plot(icecream$temperature, icecream$sales)