データに変数ラベルを簡単に付与できるパッケージの紹介です。特徴はベクトルへの単純な付与だけでなく、%>%(パイプ)内でデータに変数ラベルを付与できることでしょうか。地味ですが便利です。
「expss」パッケージと組み合わせることで変数ラベル付きのテーブルが作成できます。
パッケージのバージョンは0.2.4。実行コマンドはwindows 11のR version 4.3.1で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("tinylabels")
実行コマンド
詳細はコメント、パッケージヘルプを確認してください。
#パッケージの読み込み library("tinylabels") ###データ例の作成##### #tidyverseパッケージがなければインストール if(!require("tidyverse", quietly = TRUE)){ install.packages("tidyverse");require("tidyverse") } set.seed(1234) n <- 30 TestData <- tibble(Group = sample(paste0("Group", 1:4), n, replace = TRUE), Data = sample(c(1:50), n, replace = TRUE)) ######## #データに変数ラベル付与:variable_labelコマンド #単数 variable_label(TestData$Group) <- "テスト" #参考:複数ラベル付与 #variable_label(TestData$Group) <- c("テスト", "データ") #データのラベルを確認:variable_labelコマンド variable_label(TestData) $Group [1] "テスト" $Data NULL #変数ラベルを除去して確認:unlabelコマンド unlabel(TestData) # A tibble: 30 x 2 Group Data <chr> <int> 1 Group4 3 2 Group4 36 3 Group2 31 4 Group2 29 5 Group1 5 6 Group4 2 7 Group3 47 8 Group1 40 9 Group1 20 10 Group2 48 # ... with 20 more rows #magrittr::%>%(パイプ)内でデータに変数ラベル付与:label_variablesコマンド TestData %>% mutate(Data2 = Data / 10) %>% label_variables(Group = "グループ", Data2 = "Data / 10") -> TestData2 #確認 #Data以外がtny_lbll_classになっている TestData2 # A tibble: 30 x 3 Group Data Data2 <tny_lbll> <int> <tny_lbll> 1 Group4 3 0.3 2 Group4 36 3.6 3 Group2 31 3.1 4 Group2 29 2.9 5 Group1 5 0.5 6 Group4 2 0.2 7 Group3 47 4.7 8 Group1 40 4.0 9 Group1 20 2.0 10 Group2 48 4.8 # ... with 20 more rows #変数ラベルを確認 variable_label(TestData2) $Group [1] "グループ" $Data NULL $Data2 [1] "Data / 10" #例えば #expssパッケージがなければインストール if(!require("expss", quietly = TRUE)){ install.packages("expss");require("expss") } expss::use_labels(TestData2, table(Group, Data2)) Data / 10 グループ 0.2 0.3 0.5 0.6 0.8 1.5 2 2.3 2.6 2.9 3.1 3.2 3.6 3.8 4 4.1 4.2 4.3 Group1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 Group2 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 Group3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 Group4 2 2 0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 Data / 10 グループ 4.4 4.7 4.8 4.9 Group1 0 0 0 0 Group2 0 0 1 1 Group3 0 1 0 0 Group4 1 0 0 2
あなたの解析が楽になりますように!!