データに変数ラベルを簡単に付与できるパッケージの紹介です。特徴はベクトルへの単純な付与だけでなく、%>%(パイプ)内でデータに変数ラベルを付与できることでしょうか。地味ですが便利です。
「expss」パッケージと組み合わせることで変数ラベル付きのテーブルが作成できます。
パッケージのバージョンは0.2.3。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
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
あなたの解析が楽になりますように!!