상관계수 계산기 (피어슨·스피어만)
두 열의 데이터를 붙여 넣으면 피어슨 상관계수 r과 p값, 95% 신뢰구간, 스피어만 순위상관계수, 산점도, 그리고 바로 복사할 수 있는 APA 7 결과 문장을 보여 줍니다. 모든 계산은 브라우저 안에서 이루어지며 데이터는 업로드되지 않습니다.
| 통계량 | 값 |
|---|---|
| Pearson r | .85 |
| P값 | 0.066 |
| 95% CI | [-.12, .99] |
APA 보고
r(5) = .85, p = .066
데이터를 업로드하고 통계·그림·참고문헌이 포함된 논문 초안 생성—무료 미리보기.
논문 생성사용 방법
1. **데이터 입력**: 엑셀, 구글 시트, SPSS에서 X와 Y 두 열을 복사해 붙여 넣거나, 쉼표·공백으로 구분해 직접 입력합니다. CSV 파일을 불러와 두 변수를 선택할 수도 있습니다. 2. **쌍 확인**: 한 행이 하나의 관측(응답자 1명, 시료 1개, 하루 등)입니다. 어느 한쪽이라도 비어 있는 행은 제외되며, 실제로 사용된 쌍의 수 n이 표시됩니다. 3. **결과 확인**: 피어슨 r, r², t값, 자유도(n − 2), 양측 p값, 95% 신뢰구간과 함께 스피어만 ρ와 그 p값이 출력됩니다. 4. **산점도 먼저 보기**: 곡선 관계, 이상치, 두 개의 군집은 숫자만으로는 알 수 없습니다. 5. **APA 7 결과 문장 복사**: 변수 이름만 바꿔 논문 결과 부분에 넣으면 됩니다.
계산은 모두 기기 안에서 실행되며, 붙여 넣은 데이터는 서버로 전송되지 않습니다.
상관계수란, 언제 쓰나
상관계수는 두 변수 사이 **관련성의 방향과 강도**를 −1에서 +1 사이의 값으로 나타냅니다. 양수는 함께 증가하는 경향, 음수는 한쪽이 늘면 다른 쪽이 줄어드는 경향, 0에 가까우면 일정한 선형(또는 단조) 경향이 없다는 뜻입니다.
**피어슨 상관계수 r**: 두 연속형 변수의 **선형** 관계를 측정합니다. 키와 몸무게, 공부 시간과 시험 점수가 대표적인 예입니다.
**스피어만 순위상관계수 ρ**: 데이터를 순위로 바꾼 뒤 피어슨 r을 계산한 값입니다. X가 커질수록 Y도 커지는(또는 작아지는) **단조** 관계를 보며, 직선일 필요는 없습니다. 리커트 척도 같은 서열 자료, 치우친 분포, 극단값이 r을 좌우하는 경우에 적합합니다. 동점(tie)에는 해당 순위들의 평균 순위를 부여하는 표준 보정을 적용합니다.
상관은 ‘관련이 있다’는 것만 말해 줄 뿐, 무엇이 원인인지나 제3의 변수가 둘 다에 영향을 주는지는 알려 주지 않습니다.
가정
**피어슨 r**은 다음 조건에서 가장 신뢰할 수 있습니다.
- 두 변수 모두 등간 또는 비율 척도
- 관계가 대략 선형(산점도로 확인)
- 영향력이 큰 이상치가 없음
- 관측끼리 서로 독립
- p값과 신뢰구간을 해석하려면 두 변수가 대략 이변량 정규분포를 따름(표본이 크면 덜 중요)
**스피어만 ρ**는 순위를 매길 수 있고, 관측이 독립이며, 관계가 단조적이기만 하면 됩니다. 산점도가 U자 형태라면 두 계수 모두 적절하지 않습니다.
공식
피어슨 상관계수:
`r = Σ(x − x̄)(y − ȳ) / √[Σ(x − x̄)² · Σ(y − ȳ)²]`
유의성 검정(H0: ρ = 0), 자유도 df = n − 2:
`t = r · √(n − 2) / √(1 − r²)`
95% 신뢰구간은 피셔 z 변환으로 구합니다.
`z = atanh(r) = ½ · ln[(1 + r) / (1 − r)]`, `SE = 1 / √(n − 3)`
`CI = tanh(z ± 1.96 · SE)`
스피어만 ρ는 순위에 대한 피어슨 r입니다. 동점이 없으면 `1 − 6Σd² / [n(n² − 1)]`(d는 순위 차)과 같지만, 동점이 있으면 순위 기반 피어슨 공식으로 정확하게 계산합니다.
계산 예시
학생 8명의 주당 공부 시간과 기말시험 점수를 기록했습니다.
| 학생 | 공부 시간 X | 점수 Y | |---|---|---| | 1 | 2 | 55 | | 2 | 4 | 60 | | 3 | 5 | 58 | | 4 | 6 | 67 | | 5 | 8 | 70 | | 6 | 9 | 76 | | 7 | 11 | 79 | | 8 | 12 | 85 |
결과(Python과 SciPy로 검증):
- 피어슨 **r = 0.979**, r² = 0.958, t(6) = 11.71, **p < .001**(p = 0.000023)
- r의 95% 신뢰구간(피셔 z): **[0.884, 0.996]**
- 스피어만 **ρ = 0.976**, p < .001
이 작은 표본에서는 점수 변동의 약 96%가 공부 시간과 공유됩니다. n이 8뿐이라 신뢰구간 하한이 0.88까지 내려갑니다. p값이 아주 작아도 작은 표본의 추정은 불확실하다는 뜻입니다. 학생 3의 점수가 학생 2보다 낮은 역전이 한 번 있어 ρ는 1보다 약간 작습니다.
결과 해석
- **방향**: 부호가 양인지 음인지 확인합니다.
- **강도**: Cohen(1988)의 기준으로 |r| ≈ 0.10은 작음, 0.30은 중간, 0.50은 큼입니다. 분야마다 기준이 크게 달라 대략적인 참고용입니다.
- **r²**: 두 변수가 공유하는 분산의 비율입니다. r = 0.30이면 공유 분산은 9%에 불과합니다.
- **p값**: r이 0과 다른지만 알려 줄 뿐 크기는 알려 주지 않습니다. n = 1,000이면 r = 0.07도 p < .05가 됩니다.
- **신뢰구간**: 데이터와 양립하는 모상관의 범위입니다. p값과 함께 꼭 보고하세요.
X로 Y를 예측하는 회귀식이 필요하다면 [회귀분석 계산기](/ko/tools/linear-regression-calculator)를 사용하세요. 단순회귀의 R²는 여기서 구한 r²와 같습니다.
APA 7 양식으로 보고하기
상관계수는 1을 넘을 수 없으므로 앞의 0을 생략하고, 괄호 안에 자유도, p값은 소수 둘째~셋째 자리(또는 p < .001), 그리고 신뢰구간을 함께 씁니다.
> 피어슨 상관분석 결과, 주당 공부 시간과 시험 점수 사이에 강한 정적 상관이 나타났다, *r*(6) = .98, *p* < .001, 95% CI [.88, 1.00].
스피어만은 *r*s(6) = .98, *p* < .001로 씁니다. 통계 기호는 이탤릭체로 쓰고, 어떤 계수를 왜 사용했는지 밝혀 주세요.
여러 변수가 담긴 전체 데이터셋으로 논문을 써야 한다면, Data2Paper의 [논문 생성](/ko/generate-paper)이 통계 분석부터 논문 초안 작성까지 한 번에 처리하며 앞부분은 무료로 미리 볼 수 있습니다.
자주 하는 실수
- **상관을 인과로 해석**: 아이스크림 판매량과 익사 사고의 상관은 ‘여름’이라는 공통 원인 때문입니다.
- **산점도를 보지 않음**: 곡선, 이상치 하나, 두 집단 혼합이 모두 같은 r을 만들 수 있습니다.
- **서열 자료나 심하게 치우친 자료에 피어슨 사용**: 스피어만으로 바꾸고 그 사실을 밝히세요.
- **범위 제한**: 상위권 학생만처럼 좁은 범위의 자료에서는 상관이 약하게 나옵니다.
- **유의하지 않음 = 상관 없음으로 판단**: 작은 표본에서는 유의하지 않아도 r이 클 수 있으니 신뢰구간을 보세요.
- **서로 다른 집단을 합쳐 계산**: 각 집단에는 없는 상관이 겉보기로 생길 수 있습니다.
- **수십 개의 상관을 돌리고 유의한 것만 보고**: 다중비교 보정이 필요합니다.