SSM2005のデータでRのdataframeに変換する

SSM2005.rdaとして保存

Author

kazuo fujimoto

Published

March 18, 2023

1 概要

  • SSJDAに申請して使用するデータは、Labeled SPSS(.sav)なので、package havenを用いて読み込みfactor変換して.rdaに保存する。

1.1 調査票、集計表

このデータ(SSM2005)の調査票、集計表は、 ここ の「調査票・コードブック・集計表など」で取得可能。

1.2 履歴

  • 2023/03/17 V2として、一気にfactorをやってみる。
  • 2021/11/17 ごろ作成開始

2 処理の初期設定

library(tidyverse)
library(haven)
library(expss)
library(GDAtools)
library(showtext)
showtext_auto(TRUE)

3 データを読み込む

3.1 0764.sav をlabelled SPSS として読み込む

このデータは、SSJDAに利用申請をして許可を得た、SSM2005のSPSSデータ。encodingが、cp932なので明示的に指定。

.d <- read_sav("SSJDAに申請して取得/0764_SSM2005/0764.sav",encoding = "cp932")

4 labelled SPSSをRで扱う

4.1 readした_savがどのようにとりこまれているか確認

5742行出力されるので、通常は、eval=FALSEにしておく。画面で確認!

str(.d) 

5 expss::infoで概要を確認

.d %>% expss::info() %>% DT::datatable()

6 変数名、説明、回答選択肢

.d %>% expss::info() %>% select(Name,Distincts,Label,ValueLabels) %>% head()
    Name Distincts                Label
1     ID      5742                 <NA>
2   numr        12               地 域
3   pref        47             都道府県
4   city         5             市郡規模
5 pref_a        47 都道府県コード(83年)
6 pref_b        47 都道府県コード(05年)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ValueLabels
1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <NA>
2                                                                                                                                                                                                                                                                                                                                                                                       北海道=1, 東 北=2, 関 東=3, 京 浜=4, 甲信越=5, 北 陸=6, 東 海=7, 近 畿=8, 阪 神=9, 中 国=10, 四 国=11, 九 州=12
3 北海道=1, 青森=2, 岩手=3, 宮城=4, 秋田=5, 山形=6, 福島=7, 茨城=8, 栃木=9, 群馬=10, 埼玉=11, 千葉=12, 東京=13, 神奈川=14, 新潟=15, 富山=16, 石川=17, 福井=18, 山梨=19, 長野=20, 岐阜=21, 静岡=22, 愛知=23, 三重=24, 滋賀=25, 京都=26, 大阪=27, 兵庫=28, 奈良=29, 和歌山=30, 鳥取=31, 島根=32, 岡山=33, 広島=34, 山口=35, 徳島=36, 香川=37, 愛媛=38, 高知=39, 福岡=40, 佐賀=41, 長崎=42, 熊本=43, 大分=44, 宮崎=45, 鹿児島=46, 沖縄=47, 台湾=52, 旧満州・関東州=53, 大陸中国=54, それ以外=55, 非該当=98, DK,NA=99
4                                                                                                                                                                                                                                                                                                                                                                                                                                          政令市=1, 25万人以上の市=2, 10万人以上の市=3, 10万人未満の市=4, 郡部=5
5 北海道=1, 青森=2, 岩手=3, 宮城=4, 秋田=5, 山形=6, 福島=7, 茨城=8, 栃木=9, 群馬=10, 埼玉=11, 千葉=12, 東京=13, 神奈川=14, 新潟=15, 富山=16, 石川=17, 福井=18, 山梨=19, 長野=20, 岐阜=21, 静岡=22, 愛知=23, 三重=24, 滋賀=25, 京都=26, 大阪=27, 兵庫=28, 奈良=29, 和歌山=30, 鳥取=31, 島根=32, 岡山=33, 広島=34, 山口=35, 徳島=36, 香川=37, 愛媛=38, 高知=39, 福岡=40, 佐賀=41, 長崎=42, 熊本=43, 大分=44, 宮崎=45, 鹿児島=46, 沖縄=47, 台湾=52, 旧満州・関東州=53, 大陸中国=54, それ以外=55, 非該当=98, DK,NA=99
6 北海道=1, 青森=2, 岩手=3, 宮城=4, 秋田=5, 山形=6, 福島=7, 茨城=8, 栃木=9, 群馬=10, 埼玉=11, 千葉=12, 東京=13, 神奈川=14, 新潟=15, 富山=16, 石川=17, 福井=18, 山梨=19, 長野=20, 岐阜=21, 静岡=22, 愛知=23, 三重=24, 滋賀=25, 京都=26, 大阪=27, 兵庫=28, 奈良=29, 和歌山=30, 鳥取=31, 島根=32, 岡山=33, 広島=34, 山口=35, 徳島=36, 香川=37, 愛媛=38, 高知=39, 福岡=40, 佐賀=41, 長崎=42, 熊本=43, 大分=44, 宮崎=45, 鹿児島=46, 沖縄=47, 台湾=52, 旧満州・関東州=53, 大陸中国=54, それ以外=55, 非該当=98, DK,NA=99

7 label にそってfactor化する as_factorで変換

.d %>% mutate_all(as_factor) -> ssm2005

7.1 変数名を確認

ssm2005 %>% names %>% head(30)
 [1] "ID"          "numr"        "pref"        "city"        "pref_a"     
 [6] "pref_b"      "q01_1"       "q01_2yw"     "q01_2yj"     "q01_2m"     
[11] "q01_2a"      "q02a"        "q02b"        "q02bi"       "q02c"       
[16] "q02d"        "q02di"       "q02e"        "q02f_d"      "q02f_w"     
[21] "q02f_m"      "q02f_s"      "q02f_s_code" "q03_01"      "q03_02"     
[26] "q03_03"      "q03_04"      "q03_05"      "q03_06"      "q03_07"     
save(ssm2005,file = "ssm2005.rda")