안녕하세요. 우주신 입니다.

 

 

약 3년만에 포스팅을 하네요... 일을 하다보니 포스팅을 꾸준히 못 하고 있습니다..ㅠ

오늘은 블로그에서 가장 조회수가 높은 '[R] 상관분석...' 글을 Python으로 빠르게 변환 해봤습니다.

이번 포스팅과 다음 포스팅에서는 상관분석과 회귀분석에 대해 정리해보겠습니다.

 

우리는 종종 어떤 두 사건 간의 연관성을 분석해야 할 경우가 많습니다.

둘 또는 그 이상의 변수들이 서로 관련성을 가지고 변화할 때 그 관계를 분석해야 하는데,

가장 잘 알려진 방법 중 하나가 상관분석회귀분석 입니다.

 

예를 들어, GDP와 기대수명 간의 관계, 키와 몸무게 간의 관계를 보자면,

각각 두 변수 간의 선형적 관계를 상관(Correlation)이라고 하며, 이러한 관계에 대한 분석을 상관분석(correlation analysis)라고 합니다.

 

이번 예시에서는 당뇨와 그에 영향을 미치는 변수들 간의 관계를 분석해 보죠.

먼저 데이터는 sklearn에서 제공하는 datasets을 불러왔습니다.

import pandas as pd
import numpy as np

from sklearn import datasets
data = datsets.load_diabetes()

데이터가 dictionary 형태이므로 어떤 key를 가지는지 확인해보면 아래와 같이 나오고,

여기서 data, target, feature_names 세 가지 key만 쓰겠습니다. 당연히 데이터 형태의 길이가 같은지 부터 확인해야죠.

 

여기서 target이 당뇨병의 수치이고 나머지 feature names에 속하는 age, sex, bmi 등등은 변수라고 보면 됩니다.

즉, 442명의 사람들을 상대로 10가지의 특성들을 나열한거죠.

 

우리는 bmi(체질량지수) 변수와 당뇨병의 수치(target)가 어떤 관계를 가지는지 한번 살펴봅시다.

 

1. 산점도 (Scatter plot)

먼저, 상관계수를 파악하기 전에 산점도를 그려 두 변수 간에 관련성을 시각적으로 파악할 수 있습니다.

X = df.bmi.values
Y = df.index.values

import matplotlib.pyplot as plt
plt.scatter(X, Y, alpha=0.5)
plt.title('TARGET ~ BMI')
plt.xlabel('BMI')
plt.ylabel('TARGET')
plt.show()

matplotlib에서 제공하는 scatter()를 통해 그린 결과 입니다.

대략 봤을 때 두 변수는 서로 양의 관계를 이루고 있는 것 같죠?

 

 

2. 공분산(Covariance) 및 상관계수(Correlation Coefficient)

산점도를 이용하면 두 변수간의 직선적인 관계를 대략적으로 파악은 가능하지만, 두 변수 사이의 관계를 어떠한 수치로 표현하지는 않아요. 그렇기에 우리는 두 변수 간의 관계를 수치로 표현하기 위해 공분산 및 상관계수를 이용합니다.

 

공분산은 2개의 확률변수의 상관정도를 나타내는 값인데, 만약 2 개의 변수 중 하나의 값이 상승하는 경향을 보일 때 다른 값도 상승하면 공분산의 값은 양수, 반대로 다른 값이 하강하는 경향을 보이면 공분산의 값은 음수가 나옵니다.

 

여러가지 방식으로 구할 수 있는데,

직접 식을 계산하면,

더 편하게는 numpycov()를 이용하면 되죠.

두 방법 모두 비슷한 값이 나왔고 양의 값이 나온 것을 볼 수 있죠.

 

그러나 공분산은 상관관계의 상승 혹은 하강하는 경향을 이해할 수는 있으나 2개 변수의 측정 단위의 크기에 따라 값이 달라지므로 절대적 정도를 파악하기에는 한계가 있습니다. 즉, 2.15가 어느 정도의 양의 상관관계인지를 가늠하기가 쉽지 않죠.

 

그래서 공분산을 표준화 시킨 상관계수를 보다 많이 이용합니다.

상관계수는 각 변수의 표준편차를 분모로 나눠주면 되죠.

당연히, numpy는 없는게 없죠. corrcoef() 함수를 이용하면,

상관계수는 -1에서 1 사이의 값을 가지기에 0일 경우에는 두 변수 간의 선형관계가 전혀 없다는 것을 뜻 합니다.

보통 0.3과 0.7 사이이면, 뚜렷한 양적 선형관계로 0.7과 1.0 사이는 강한 양적 선형관계로 간주한다고 합니다.

(그러나 데이터의 특성과 샘플의 대표성 등 상황에 따라 상관계수 값 자체를 해석하는데 있어 정확한 기준은 없습니다)

 

위에 나온 0.58은 BMI(체질량지수)와 당뇨병수치(Target)는 뚜렷한 양적 선형관계를 이루고 있다고 볼 수 있습니다.

 

주의할 점은 상관계수 분석 자체가 특이 값에 민감하게 반응하기 때문에 데이터 pre-processing에 항상 주의를 기울여야 합니다.

또한 상관관계는 두 변수 간의 관련성을 의미할 뿐, 원인과 결과의 방향을 알려주지는 않습니다.

 

 

3. 상관계수의 검정

상관계수 값 자체가 유의미한가를 검정할 수도 있습니다. 그 중 하나로 p-value를 많이 이용하는데,

scipy 패키지의 stats.pearsonr()을 이용하면 상관계수와 p-value를 동시에 얻을 수 있습니다.

import scipy.stats as stats
stats.pearsonr(X,Y)

뒤 결과 값이 p-value인데, 귀무가설 "상관관계가 없다"에 대한 검정 결과 p-value가 3.46e-42라는 0에 아주 매우 가까운 값이 나왔으므로 귀무가설을 기각할 수 있음을 알 수 있습니다.

 

 

4. 그 외

그냥 궁금해서 나머지 변수들도 상관계수를 확인해 봤습니다.

당뇨병수치와 가장 상관관계가 높은 것은 bmi이고 age나 sex는 큰 관련이 없는 것으로 보이네요.

 

다음 시간에는 회귀분석에 대해 다뤄보겠습니다~

안녕하세요. 우주신 입니다.


이번 시간에는 히스토그램과 산점도 그리는 방법에 대해 배워보겠습니다.



먼저, pandas를 이용하여 웹에서 csv 파일을 불러왔습니다.


상점 번호, 연도, 기간, p1매출액.. 등을 기준으로 데이터프레임을 만들었습니다.


이 중 p1sales의 데이터를 히스토그램과 산점도로 시각화 해보겠습니다.


1. 히스토그램 (Histogram)


plt.hist(df['p1sales'])

-plt.hist() 함수 안에 df의 열 'p1sales' 데이터를 넣었습니다. 


Y축에는 빈도수가, X축에는 매출액을 기준으로 히스토그램이 출력됐습니다.


X축 매출액의 범위를 조정해보겠습니다. 

plt.hist(df['p1sales'], list)

-list 자리에 X축 범위를 지정할 수 있습니다. list에 반복문을 활용하여 0부터 300까지 데이터를 넣은 후, 이를 X축 범위로 적용하였습니다.


첫번째 히스토그램과 비교했을 때 X축의 범위가 바뀐 것을 확인할 수 있습니다.


조금 더 이쁘게 만들어보겠습니다.

plt.hist(df['p1sales'], list, histtype='bar', rwidth=0.9)

-histtype는 히스토그램의 type를 정하는 기능이고, rwidth는 막대 그래프 간의 간격을 설정할 수 있는 기능입니다. 

그 외 더 자세한 기능은 구글링!


훨씬 더 깔끔해졌어요. 마지막으로 X축, Y축 label과 그래프의 제목을 넣어주겠습니다.


plt.xlabel(), plt.ylabel()

-말 그대로 x축 label과 y축 label의 이름을 지정해주는 함수 입니다. x축에는 'Numbers'를 y축에는 'Counting'을 입력했습니다.

plt.title()

-그래프의 메인 제목을 입력하는 함수 입니다.



2. 산점도 (Scatterplot)


산점도는 직교 좌표계에 이용해 두 개 변수 간의 관계를 나타내는 방법입니다.


매 주(Week)에 따른 매출액(p1sales) 간의 관계를 알아보겠습니다.

plt.scatter(X, Y)

-X와 Y의 자리에 각각 df['Week'] 변수와 df['p1sales'] 변수가 입력됐습니다.


X축은 기간, Y축은 매출액을 기준으로 데이터에 해당하는 점들이 찍힌 것을 확인할 수 있습니다.


더 이쁘게 만들어 보겠습니다.

plt.scatter(df['Week'], df['p1sales'], label='skitscat', color='r', s=30, marker='o')

-color는 red로 지정하였고 s는 size의 약자입니다. marker는 점의 type를 설정할 수 있습니다.





수고하셨습니다



안녕하세요. 우주신입니다.



저번 상관분석 포스팅에 이어 이번에는 회귀분석(Regression Analysis)에 대해 정리해보겠습니다. 


상관분석은 변수들이 서로 얼마나 밀접하게 직선적인 관계를 가지고 있는지를 분석하는 통계적 기법이며 


회귀분석은 한 개 또는 그 이상의 변수들(독립변수)에 대하여 다른 한 변수(종속변수) 사이의 관계를 수학적인 모형을 이용하여 설명하고 예측하는 분석기법 입니다.


쉽게 말하자면, 상관분석에서는 산점도의 점들의 분포를 통해 일정한 패턴을 확인한 후, 상관계수를 구하여 두 변수 간의 선형관계를 알 수 있었습니다. 여기서 더 나아가, 이 일정한 패턴을 활용하여 무엇인가를 예측하는 분석을 회귀분석이라고 보시면 됩니다.


'회귀분석'하면 이름도 생소하고 낯설 수 있지만, R 코드와 함께 따라와보시면 쉽게 이해가실겁니다!!


상관분석의 연장선에서 회귀분석을 하기 위해 데이터도 같은 데이터를 사용하겠습니다.


df <- read.csv("http://goo.gl/HKnl74")



저번 포스팅의 상관분석을 통해 놀이기구에 대한 만족도(rides)와 전체만족도(overall) 간에 일정한 패턴을 확인하였고, 상관계수 또한 0.5859로써 양의 선형관계를 이뤘습니다. 여기서 더 나아가, 회귀분석을 통해 변수 간에 관계를 예측까지 해보겠습니다.


참고로, 회귀분석은 크게 독립변수 종속변수가 각각 한 개일 때의 관계를 분석하는 단순선형회귀분석(simple linear regression analysis)

종속변수는 한개 독립변수는 두개 이상일 때는 중선형회귀분석(multiple linear regression analysis)으로 구분됩니다.




<단순선형회귀분석>




1. 회귀식의 추정


두 변수 X와 Y의 관계(rides, overall)에 적합한 회귀식을 구하기 위해서는 관측된 값으로부터 회귀계수 B0와 B1의 값을 추정하여야 합니다. 

이 때 일반적으로 많이 사용되는 방법을 최소제곱법이라고 합니다.


R에서는 lm(Y~X) 함수를 이용하면 회귀식을 쉽게 추정할 수 있습니다.

b0 = -94.962, b1 = 1.703 으로부터 overall = -94.962 + 1.703*rides 라는 회귀식을 구할 수 있으며,

놀이기구에 대한 만족도(rides)가 1 증가할 때마다 전체만족도(overall)이 1.703만큼 증가한다고 볼 수 있습니다.


이렇게 구해진 회귀직선을 산점도(scatter plot)위에 그려보겠습니다.

-m1 <- lm(overall~rides): m1에 회귀식을 입력

-plot(overall~rides, ...): 산점도를 그림

-abline(m1, col='blue'): 산점도 위에 m1이라는 회귀직선을 blue 색으로 그림

산점도 위에 파란색의 회귀직선이 그려진 것을 확인할 수 있습니다 !!


그러나 회귀식이 도출 됐어도 아직 할 일이 많습니다.... 



2. 회귀모형의 검정 및 적합도 파악


이 회귀식이 통계적으로 유의한지, 변수가 유의하게 영향을 미치는 지, 그리고 얼만큼의 설명력을 가지는지 등의 여부를 확인해야 합니다.


1. F-statistic

도출된 회귀식이 회귀분석 모델 전체에 대해 통계적으로 의미가 있는지 파악


2. P-Value

각 변수가 종속변수에 미치는 영향이 유의한지 파악


3. 수정된 R제곱

회귀직선에 의하여 설명되는 변동이 총변동 중에서 차지하고 있는 상대적인 비율이 얼마인지 나타냄

즉, 회귀직선이 종속변수의 몇%를 설명할 수 있는지 확인


위에 나온 3가지는 모두  summary() 함수 하나를 통해 다 확인할 수 있습니다. summary()의 위대함은 여기서도 느끼네요.

결과를 보면 잔차에 대한 정보, 회귀계수에 대한 정보, R제곱, 검정통계량 F0 값과 P-Value 값 등이 출력된 것을 확인할 수 있습니다.


1. 제일 밑에 F-statistic의 p-value 값은 2.2e-16 로 0.05보다 작기에 이 회귀식은 회귀분석 모델 전체에 대해 통계적으로 의미가 있다고 볼 수 있습니다.


2. 중간의 Coefficients:에는 y절편 값(Intercept) 및 변수들의 p-value 값이 나와있습니다. rides 변수의 경우 2e-16으로 0.05보다 작기에 overall을 설명하는데 유의하다고 판단할 수 있습니다.

참고로 *는 통계적으로 유의하다는 것을 한 눈에 보여주는 표시이며 *가 많을수록 통계적으로 유의할 확률이 높다고 볼 수 있습니다.


3. 밑 부분의 Adjusted R-squared 값은 0.3421 로써 34%만큼의 설명력을 가진다고 판단할 수 있습니다.

(0에 가까울 수록 예측값 믿을 수 없고 1에 가까울 수록 믿을 수 있다)



<중선형회귀분석>

이번에는 중선형회귀분석(multiple linear regression analysis)을 해보겠습니다. 

위 단순선형회귀분석과 비교했을 때 종속변수를 설명하는 독립변수가 두개 이상으로 증가했다고 생각하시면 됩니다.


overall을 설명하는 독립변수를 기존에 있었던 rides에 더해 games와 clean 변수를 추가해봤습니다.

lm(Y~X1+X2+ ... Xn)과 같은 형식으로 입력해주면 회귀식이 나옵니다.

이번에는 summary() 함수를 통해 한번에 회귀식과 회귀모형을 검정해보겠습니다.


회귀식: overall = -131.67877 + 0.57798*rides + 0.26028*games + 1.28381*clean 


1. 제일 밑에 F-statistic의 p-value 값이 2.2e-16 로 0.05보다 작기에 이 회귀식은 회귀분석 모델 전체에 대해 통계적으로 의미가 있다고 볼 수 있습니다.


2. 중간의 Coefficients에 나온 변수들의 p-value 값이 모두 0.05보다 작기에 overall을 설명하는데 유의하다고 판단할 수 있습니다.


3. 밑 부분의 Adjusted R-squared 값은 0.4358 로써 43.5%만큼의 설명력을 가진다고 판단할 수 있습니다. 앞선 결과와 비교했을 때 더 높은 설명력을 가지는 것을 알 수 있습니다. 


이번에는 weekend 변수(범주형)를 넣어서 회귀분석을 해봤습니다.


1. 여전히 제일 밑에 F-statistic의 p-value 값이 2.2e-16 로 0.05보다 작기에 이 회귀식은 회귀분석 모델 전체에 대해 통계적으로 의미가 있다고 볼 수 있습니다.


2. 중간의 Coefficients에 나온 weekendyes를 제외한 변수들의 p-value 값이  0.05보다 작기에 overall을 설명하는데 유의하다고 판단할 수 있습니다. weekend 변수와 같이 yes, no 데이터로 구성되어 있는 범주형 변수의 경우 하나의 값을 기준으로 나머지 값을 비교합니다.

즉, weekendyes(주말에 온 사람들)가 weekendno(주중에 온 사람들)와 비교했을 때 -0.85183만큼 overall(전체만족도)를 평가했다고 생각하면 쉬울 것 같습니다.


3. 밑 부분의 Adjusted R-squared 값은 0.4358 로써 43.5%만큼의 설명력을 가진다고 판단할 수 있습니다. 





끝.


수고하셨습니다~









  1. 2017.06.10 14:52

    비밀댓글입니다

    • 2017.06.12 22:08

      비밀댓글입니다

  2. 권태용 2017.06.15 10:34

    각각의 값들이 어떤의미를 가지고 있는지에 대해서 이해가 됬습니다.
    하지만 제가 헷갈리는게 p-value인데 다른 인터넷에서는 p<0.05이면 대립가설을 채택한다고 하는데 위에선 0.05보다 작은데 선형회귀분석에 의미가 있다고 하는데 제가 잘못 이해 하고 있는 건가요?

    • JKyun 2017.06.15 22:47 신고

      '대립가설을 채택하다 = 통계적으로 유의하다' 의 뜻으로 적었습니다. 대립가설을 채택한다는 의미로 받아들이면 될 것 같아요~

    • 권태용 2017.06.16 17:07

      아 그렇군요 ㅎㅎ 친절한 설명 감사드립니다.

    • 권태용 2017.06.16 17:27

      이해가 된줄 알았는데 ㅜㅜ 다시 생각해보니 헷갈리네요

      lm()선형회귀의 가설이 두 변수는 선형관계를 가진다라는 가설로부터 시작하지 않나요? ㅜㅜ 그래서 제가 생각하는 대립가설을 채택한다는 뜻은 두 변수는 선형관계를 띄지 않는다로 생각됩니다. ㅜㅜ

  3. si 2017.11.08 14:37

    범주형인 weeked를 그냥 넣으셨는데 저는 as.factor(weeked) 이렇게 넣으라고 배웠는데
    안해도 상관 없는 건가요???

    • JKyun 2017.11.08 19:05 신고

      weekend가 이미 범주형으로 입력이 되어 있기 때문에 상관 없어요. 실제로 넣고 해봤는데도 결과값 똑같이 나옵니다~

  4. 2018.11.21 00:45

    안녕하세요! 회귀분석 공부중인 학생입니다 혹시 저 데이터를 어디서 찾으셨는지 알수있을까요??

    • 2018.12.08 17:22

      비밀댓글입니다

  5. 2019.04.18 16:59

    비밀댓글입니다

  6. 분석 2020.06.18 02:06

    안녕하세요! 제가 현재 회귀분석과 t-test 결과 분석을 하고 있는데 헷갈리는게 있어서요...! 혹시 조금 도움을 주실 수 있을까요??

  7. 고진_감래 2021.05.27 00:44 신고

    진짜 최고의 설명입니다.!!!!!!!!!



안녕하세요. 우주신입니다.



이번 포스팅과 다음 포스팅에서는 매우 중요한 상관분석(correlation analysis)회귀분석(regression analysis)에 대해 정리해보겠습니다.


plot(), corrplot(), cov(), cor(), cor.test()


우리는 종종 어떤 두 사건 간의 연관성을 분석해야 할 경우가 많습니다. 둘 또는 그 이상의 변수들이 서로 관련성을 가지고 변화할 때 그 관계를 분석하는데 사용되는 방법 중에서 가장 잘 알려진 것이 상관분석(correlation analysis)과 회귀분석(regression analysis)입니다.


GDP와 기대수명 간의 관계, 키와 몸무게 간의 관계 등을 예로 들 수 있는데 여기에서 두 사건, 즉 두 변수 간의 선형적 관계를 상관(correlation)이라고 하며, 이러한 관계에 대한 분석을 상관분석(correlation analysis)이라고 합니다.


먼저 상관분석에 쓸 데이터를 불러서 확인해보겠습니다.


df <- read.csv("http://goo.gl/HKnl74")


그대로 복사해서 데이터프레임 df에 입력하시면 됩니다.


str() 함수를 통해 항상 데이터 구조를 확인하는 습관!

놀이동산에 대한 만족도가 주말이용여부, 동반자녀수, 놀이공원까지의 거리, 놀이기구에 대한 만족도, 게임에 대한 만족도, 대기시간에 대한 만족도, 청결상태에 대한 만족도 그리고 전체만족도로 구성되어 있습니다.


상관분석을 할 때 결측값(NA)가 있으면 결과가 NA 값이 나오게 되므로 이를 꼭 확인하여 처리해야 합니다.

(결측값 처리는 http://ordo.tistory.com/19를 확인)

다행히도, 이번 데이터프레임에는 결측값이 하나도 없네요~


그럼, 저는 '놀이기구에 대한 만족도(rides)'와 '전체만족도(overall)' 간의 관계를 분석해보겠습니다. 


아마도 놀이기구에 대한 만족도가 높으면 전체 만족도 또한 높지 않을까 예상을 해보면서, 산점도(scatterplot)부터 그려보겠습니다.



1. 산점도(Scatter plot)


https://ko.wikipedia.org/wiki/산점도


상관계수를 파악하기 전에 우선, 산점도(scatterplot)로부터 두 변수 간에 관련성을 그림을 이용하여 시각적으로 파악할 수 있습니다.

plot(Y~X) 함수의 Y, X에 변수를 입력하면 위와 같이 산점도가 그려집니다.

대략 봤을 때, 양의 관계를 이루고 있는 것 같죠? 


좀 더 그림을 이쁘게 그려본다면,

-main="Overall~Rides": 그림의 main 제목 입력

-xlab="Satisfaction with Rides": x축 레이블 입력

-ylab="Overall Satisfaction": y축 레이블 입력

-cex=1: 출력되는 점들의 크기 결정

-pch=1: 출력되는 점의 형태  (기본형태는 빈원)

-col='red': 색상 지정


그 외에

-xlim=: x축 값의 출력범위 지정

-ylim=: y축 값의 출력범위 지정

-lty: 출력되는 선의 형태를 지정



2. 공분산(Covariance) 및 상관계수(Correlation Coefficient)

산점도 이용하면 두 변수간의 직선적인 관계를 개략적으로 파악할 수는 있지만, 두 변수 사이의 관계를 보다 정확히 숫자로 나타낼 수 없기 때문에

공분산 및 상관계수를 이용합니다.


공분산은 2개의 확률변수의 상관정도를 나타내는 값인데, 만약 2개의 변수 중 하나의 값이 상승하는 경향을 보일 때 다른 값도 상승하면 공분산의 값은 양수, 반대로 다른 값이 하강하는 경향을 보이면 공분산의 값은 음수가 나옵니다.
cov() 함수를 통해 공분산 값을 쉽게 구할 수 있습니다.
50.82939는 양수이므로 두 변수 간의 상관관계는 상승하는 경향이라고 이해할 수 있죠?

그러나 공분산은 상관관계의 상승 혹은 하강하는 경향을 이해할 수는 있으나 2개 변수의 측정 단위의 크기에 따라 값이 달라지므로 절대적 정도를 파악하기에는 한계가 있습니다. 즉 50.82939가 어느정도의 양의 상관관계인지를 가늠하기가 쉽지 않습니다.

이 때, 공분산을 표준화 시킨 상관계수를 통해 파악할 수 있습니다!

cor() 함수를 통해 두 변수 간의 선형관계의 강도를 알 수 있습니다.
-use='complete.obs': 결측값을 모두 제거된 상태에서 상관계수를 계산 
-method='pearson': 피어슨 상관계수 지정 (가장 많이 사용)
나머지 기능들은 ?cor 입력하여 더 자세히 보시기 바랍니다.

상관계수는 -1 ~ 1 사이의 값을 가지며 0일 경우에는 두 변수 간의 선형관계가 전혀 없다는 것을 뜻 합니다.
보통 0.3과 0.7 사이이면, 뚜렷한 양적 선형관계로 0.7과 1.0 사이이면, 강한 양적 선형관계로 간주하니,
위에 나온 0.5859 상관계수 값을 통해 놀이기구에 대한 만족도와 전체 만족도는 뚜렷한 양적 선형관계를 이루고 있다고 볼 수 있습니다.

주의할 점은 특이 값에 민감하게 반응하기 때문에 데이터 값에 항상 주의를 기울여야 합니다. 
또한 상관관계는 두 변수 간의 관련성을 의미할 뿐, 원인과 결과의 방향을 알려주지는 못 합니다.



3. 상관계수의 검정


상관계수의 가설 검정은 cor.test() 함수를 사용하면 됩니다.

귀무가설 "상관관계가 없다"에 대한 검정 결과 p-value < 2.2e-16 값이 나왔으므로 귀무가설을 기각할 수 있음을 알 수 있습니다.

그 외에 검정통계량의 값(t), 95% 신뢰구간, 표본상관계수 등을 확인할 수 있습니다.


4. 그 외 


이번에는 전체만족도놀이기구에 대한 만족도, 게임에 대한 만족도, 대기시간에 대한 만족도, 청결상태에 대한 만족도 간의 상관관계를 한 눈에 파악해보겠습니다.


변수를 지정하여 산점도를 나타내봤습니다.


그 후, cor() 함수를 통해 상관계수를 나타냈습니다.


'corrplot' 패키지에 들어있는 corrplot() 함수를 통해 한 눈에 시각적으로 파악했습니다.




끝.


다음 시간에는 회귀분석에 대해 다뤄보겠습니다.


수고하셨습니다~



  1. 2017.07.24 13:38

    비밀댓글입니다

    • 2017.08.03 09:35

      비밀댓글입니다

  2. blackz 2019.11.11 22:54

    이해하기 매우 쉽게 작성되어서 놀랐습니다.

    잘읽었습니다~!!!!

  3. knh 2020.12.06 17:54

    좋은 포스트 감사합니다. 덕분에 학습하는데 큰 도움이 되었습니다.

  4. 리딩웨더 2021.03.08 09:39 신고

    잘 보고 가요~

+ Recent posts