본문 바로가기
R packages/foreign

read.spss() 함수 사용법

by 거인과난쟁이 2017. 2. 25.

SPSS라는 유명한 사회과학용 통계패키지가 있다: Statistical Package for the Social Sciences
요즘은 비사회과학분야에서도 많이 사용되고 있다고 한다.

.sav 라는 확장자로 데이터셋을 주로 저장한다. SPSS 데이터셋을 R로 불러들이는 방법 중에서 foreign 패키지의 read.spss() 함수 사용법을 추천한다.

==============================

install.packages("foreign", dep=T)

library(foreign)

# 기본 사용법
function (file, use.value.labels = TRUE, to.data.frame = FALSE,
    max.value.labels = Inf, trim.factor.names = FALSE, trim_values = TRUE,
    reencode = NA, use.missings = to.data.frame)

# 가장 기본이다. 행렬로, 요인값으로, 파일 인코딩을 그대로...

# 작업 공간의 경로와 (내려)받은 .sav파일이 담긴 경로를 같게 만든 후, (getwd(), setwd() 등을 사용하여)

객체 <-  read.spss(파일명)

# 데이터프레임으로 불러올 때

객체 <- read.spss(파일명, to.data.frame=T)

# 수치형변수로 불러오기 어려운 사례 값을 문자형으로 불러올 때

객체 <- read.spss(파일명, use.value.labels=F, to.data.frame=T) 

# reencode="cp949"

객체 <- read.spss(파일명, use.value.labels=F, to.data.frame=T, reencode="cp949")

=================================================================

 

주의사항:

1. 리눅스, 맥은 utf8을 기본인코딩으로, 윈도우는 cp949가 기본설정이다.

만들어진 SPSS 파일은 대부분 cp949를 사용한다고 생각하고, 자료 불러오기를 시작하는 것이 일반적이다.

2. 수치형(num, int)변수 유형, 문자형(chr) 유형과 달리 요인형(factor) 변수를 어떻게 처리할 것인가를 먼저 결정해야 한다.

use.value.labels=F 이면, 수치형-문자형으로 불러들여진다. 이 다음 단계는, as.factor() 등의 함수를 써서 요인형으로 바꾸는 것이다.


foreign 패키지에는 SPSS 파일 불러오기 연습을 위한 예제 파일이 담겨있다. 편의상 블로그에 담아둔다. 내려받아 사용할 수 있다.

https://rcmdr.tistory.com/210

 

SPSS 데이터 파일 사례

foreign 패키지 안에는 SPSS 파일이 예제로 포함되어 있다.

rcmdr.kr

 

'R Commander에서 SPSS 파일 불러오기'는 다음을 참조할 수 있다:

https://rcmdr.tistory.com/30

 

from SPSS data set...

데이터 > 데이터 불러오기 > SPSS 데이터셋에서... Data > Import data > from SPSS data set... '데이터 > 데이터 불러오기 > SPSS 데이터셋에서...' 메뉴 기능을 선택하자. 아래와 같은 화면이 등장한다. - 데..

rcmdr.kr