世界で10人くらいにしか需要がないだろう備忘録シリーズ。
Motivation
一般的に言って、SPSSのデータ(.sav拡張子のやつ)をRで利用するとき、read.spss()関数を使ってデータフレームに変換する。
しかしこのやりかたでは、SPSS上では参照できてた数値⇔値ラベルの対応関係が参照できなくて困ることがごくまれにある。
そんなときは、sjlabelledパッケージを使えばよい、ということが分かったのでメモ。
いやぁニッチな需要に応えるpackageを作ってくれる人が世界にはおるんやなぁ...
How to
基本的な使い方は以下のURLがわかりやすいので要参照。
- Labelled Data and the sjlabelled-Package
- Retrieve value labels of labelled data — get_labels • sjlabelled
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!