SPSSやSASなどはデータセットにラベルを付与して作業できます。意外にこの機能は便利ですがRでの再現は工夫が必要でした。工夫もなく、簡単にデータセットにラベルを付与できるパッケージを紹介します。
ラベルを付与することで、作業が格段に効率よくなることがあります。ぜひ、パッケージを試してみてください。
パッケージバージョンは2.10.0.9000。実行コマンドはR version 4.2.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("devtools") devtools::install_github("larmarange/labelled")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み library("labelled") ###データ例の作成##### n <- 50 TestData <- data.frame(Data1 = sample(1:5, n, replace = TRUE), Data2 = I(sample(LETTERS[1:3], n, replace = TRUE))) #構造確認 str(TestData) 'data.frame': 50 obs. of 2 variables: $ Data1: int 2 3 2 1 1 4 1 4 4 2 ... $ Data2:Class 'AsIs' chr [1:50] "A" "C" "B" "A" ... ######## #変数ラベルを付与:var_labelコマンド var_label(TestData[, 1]) <- "Question_1" #構造確認 #label属性が新たに付与されます str(TestData) 'data.frame': 50 obs. of 2 variables: $ Data1: atomic 2 3 2 1 1 4 1 4 4 2 ... ..- attr(*, "label")= chr "Question_1" $ Data2:Class 'AsIs' chr [1:50] "A" "C" "B" "A" ... #RStudioでViewコマンドで表示すると #データ名下部に変数ラベルが表示されます View(TestData) #値にラベルを付与:labelledコマンド #注意:numeric,characterのみ対象です #ラベル内容を指定:labelsオプション TestData[, 2] <- labelled(TestData[, 2], labels = c(YES = "A", NO = "B", OR = "C")) #構造確認 #Data2にラベル属性が付与されいます str(TestData) 'data.frame': 50 obs. of 2 variables: $ Data1: atomic 2 3 2 1 1 4 1 4 4 2 ... ..- attr(*, "label")= chr "Question_1" $ Data2:Class 'labelled' atomic [1:50] A C B A ... .. ..- attr(*, "labels")= Named chr [1:3] "A" "B" "C" .. .. ..- attr(*, "names")= chr [1:3] "YES" "NO" "OR" .. ..- attr(*, "is_na")= logi [1:3] FALSE FALSE FALSE #内容表示 TestData[, 2] labelled<character>[50]> [1] "A" "C" "B" "A" "C" "C" "B" "C" "C" "A" "B" "A" "B" "B" "A" "A" "A" "C" "C" "A" "B" [22] "A" "C" "A" "A" "C" "B" "C" "A" "A" "A" "C" "B" "C" "C" "A" "C" "B" "B" "A" "C" "B" [43] "A" "C" "B" "A" "B" "B" "B" "A" Labels: value label A YES B NO C OR #ラベル属性を変更する:val_labelコマンド #情報削除はNULLを指定 val_label(TestData[, 2], "C") <- "CHANGE" #内容表示 TestData[, 2] <labelled<character>[50]> [1] C A B B B C A A B B C C B A A A C C B A C C C C A C B C B C B A A B B B A A C B B A B C [45] C A A A C A Labels: value label A YES B NO C CHANGE
少しでも、あなたの解析が楽になりますように!!