論理の流刑地

地獄の底を、爆笑しながら闊歩する

【小ネタ】SPSSファイルにおける数値⇔値の対応関係をR上でも参照する

世界で10人くらいにしか需要がないだろう備忘録シリーズ。

Motivation

一般的に言って、SPSSのデータ(.sav拡張子のやつ)をRで利用するとき、read.spss()関数を使ってデータフレームに変換する。
しかしこのやりかたでは、SPSS上では参照できてた数値⇔値ラベルの対応関係が参照できなくて困ることがごくまれにある。

そんなときは、sjlabelledパッケージを使えばよい、ということが分かったのでメモ。
いやぁニッチな需要に応えるpackageを作ってくれる人が世界にはおるんやなぁ...

How to

基本的な使い方は以下のURLがわかりやすいので要参照。

library(sjlabelled)
data1 <- sjlabelled::read_spss( file= "C:/Users/XXX/example.sav" , enc="UTF8")
 
#データ全体の変数ラベルを取得
var_lbl <- sjlabelled::get_label(data1)

#特定の変数の値一覧を取得
q1_values <- sjlabelled::get_values( data1$q1)

#特定の変数の値ラベル一覧の取得
q1_labels <- sjlabelled::get_labels( data$q1)

#[応用] 数値と値ラベルの対応がわかるかたちで値ラベル一覧の取得
q1_labels_v2 <- sjlabelled::get_labels( data$q1, value="p")

普段は、foreignパッケージのread.spssをつかうことが多い思う。
だがsjlabelledではread_spssなので注意すべし。

Enjoy!