Rで解析:データに変数ラベルを付与「tinylabels」パッケージ

データに変数ラベルを簡単に付与できるパッケージの紹介です。特徴はベクトルへの単純な付与だけでなく、%>%(パイプ)内でデータに変数ラベルを付与できることでしょうか。地味ですが便利です。

「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

あなたの解析が楽になりますように!!

Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.
タイトルとURLをコピーしました