[R] 다변량 데이터 상관관계 분석
ADP 실기를 한 차례 겪어보니 처음 접하는 데이터셋의 변수가 많은 경우 빠르고 효율적인 EDA 방법이 필요해보입니다.오늘은 Boston 데이터셋의 상관관계 분석을 for 구문 apply 구문을 이용해서 처리하는 법을 연구해보았습니다.
data(Boston,package="MASS")
str(Boston)
library(PerformanceAnalytics)
chart.Correlation(Boston)
#1. 가장 원초적인 방법
cor.test(Boston$crim, Boston$medv)
cor.test(Boston$zn, Boston$medv)
# 타이핑하다 날 샐 것 같습니다.
#2. 문자 대신 숫자
# 1번 보다는 빠르지만 오래 걸리기는 마찬가지
cor.test(Boston[,1], Boston[,14])
cor.test(Boston[,2], Boston[,14])
cor.test(Boston[,3], Boston[,14])
cor.test(Boston[,4], Boston[,14])
cor.test(Boston[,5], Boston[,14])
cor.test(Boston[,6], Boston[,14])
cor.test(Boston[,7], Boston[,14])
cor.test(Boston[,8], Boston[,14])
cor.test(Boston[,9], Boston[,14])
cor.test(Boston[,10], Boston[,14])
cor.test(Boston[,11], Boston[,14])
cor.test(Boston[,12], Boston[,14])
cor.test(Boston[,13], Boston[,14])
# 3. for loop
# 뭔가 2% 부족한 script 입니다...
x <- cor.test(Boston[,1], Boston[,8])
str(x)
x$p.value
x$estimate i <- 1
for (i in 1:14){
print(cor.test(Boston[,i], Boston[,14])$estimate)
}
# 4.apply
# 변수명, 상관계수, p-value 이런식으로 표현하면 보기 좋을 듯 한데...
apply(Boston,2,cor.test,Boston$medv)