Rで解析:データの探索に便利です。「DescTools」パッケージ

「データを解析する前におこなっている作業の紹介」を先日紹介しました。そんな、解析する前にデータの特徴を探るのに便利なコマンドが収録されたパッケージの紹介です。

データを解析する前の作業を紹介
https://www.karada-good.net/analyticsr/r-293/

多くのコマンドの中から、これは便利と感じた「素数、最大公約数、フィボナッチ数、要素の組み合わせ」と「データの特徴を把握しながら図式化する」コマンドを紹介します。その他のコマンドはパッケージヘルプを確認していただければと思います。

パッケージのバージョンは0.99.44。 windows11のR version 4.1.2で確認しています。

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("DescTools")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("DescTools")

#nまでの素数の表示:Primeコマンド
Primes(n = 37)
[1]  2  3  5  7 11 13 17 19 23 29 31 37

#素数であるかの確認:IsPrimeコマンド
IsPrime(Primes(n = 37))
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

#最少公倍数の計算:LCMコマンド
LCM(2, 3)
[1] 6

#最大公約数の計算:GCDコマンド
GCD(160, 25)
[1] 5

#フィボナッチ数:Fibonacciコマンド
Fibonacci(1:6)
[1] 1 1 2 3 5 8

#要素の全組み合わせ:Permnコマンド
Permn(c(1:3))
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    2    1    3
[3,]    2    3    1
[4,]    1    3    2
[5,]    3    1    2
[6,]    3    2    1

#組み合わせの数を計算:factorialコマンド
factorial(length(c(1:3)))
[1] 6

#要素範囲を指定した全組み合わせ:CombSetコマンド
CombSet(c(1:3), 2, repl = FALSE, ord = TRUE)
      [,1] [,2]
[1,]    1    2
[2,]    2    1
[3,]    1    3
[4,]    3    1
[5,]    2    3
[6,]    3    2

#2つのベクトルの組み合わせ:CombPairsコマンド
CombPairs(c(1:3), c(3:1))
Var1 Var2
1    1    3
2    2    3
3    3    3
4    1    2
5    2    2
6    3    2
7    1    1
8    2    1
9    3    1

###データ例の作成#####
n <- 1000
TestData <- data.frame(Group = sample(c(paste0("Group", 1:3), NA), n, replace = TRUE),
                          Data1 = sample(1:200, n, replace = TRUE),
                          Data2 = rnorm(n),
                          Data3 = factor(sample(c("YES", "NO", NA), n, replace = TRUE)))
########

#因子の分布を確認:Descコマンド
#カテゴリ
Desc(TestData[, 1], plotit = TRUE, digits = 3)

TestData[, 1] (factor)
length      n    NAs levels unique  dupes
1'000    780    220      3      3      y

   level   freq      perc  cumfreq   cumperc
1  Group3  3e+02  3.6e+01%    3e+02  3.6e+01%
2  Group1  2e+02  3.2e+01%    5e+02  6.8e+01%
3  Group2  2e+02  3.2e+01%    8e+02  1.0e+02%

#連続変数
Desc(TestData[, 2], plotit = TRUE)

TestData[, 2] (integer)
length          n        NAs     unique         0s       mean     meanSE
 1e+03      1e+03          0      2e+02          0   1.03e+02   1.80e+00

     .05        .10        .25     median        .75        .90        .95
1.30e+01   2.40e+01   5.30e+01   1.04e+02   1.51e+02   1.79e+02   1.90e+02

   range         sd      vcoef        mad        IQR       skew       kurt
1.99e+02   5.69e+01   5.55e-01   7.26e+01   9.80e+01  -4.49e-02  -1.20e+00

lowest : 1e+00 (4e+00), 2e+00 (5e+00), 3e+00 (7e+00), 4e+00 (2e+00), 5e+00 (2e+00)
highest: 2e+02 (7e+00), 2e+02 (3e+00), 2e+02 (8e+00), 2e+02 (6e+00), 2e+02 (4e+00)

#因子
Desc(TestData[, 4], plotit = TRUE)

TestData[, 4] (factor - dichotomous)
length      n    NAs unique
 1'000    661    339      2

freq      perc  lci9.50e-01  uci9.50e-01'
NO   3e+02  5.3e+01%     4.9e+01%     5.7e+01%
YES  3e+02  4.7e+01%     4.3e+01%     5.1e+01%

' 95%-CI Wilson

#データを箱ひげ図で確認
Desc(TestData[, 1] ~ TestData[, 2], plotit = TRUE)

#バイオリンプロット:PlotViolinコマンド
PlotViolin(TestData[, 2] ~ TestData[, 1],
           data = TestData, col = SetAlpha(hblue,0.5))

#密度グラフの作成:PlotMultiDensコマンド
PlotMultiDens(TestData[, 2] ~ TestData[, 1],
              data = TestData) 

#散布図と密度グラフの同時描写:PlotMarDensコマンド
#グループを指定:grpオプション
PlotMarDens(y = TestData[, 2], x = TestData[, 3], grp = TestData[, 1])

出力例

Descコマンドによる出力です。
・カテゴリ

Desc1

・連続変数

Desc2

・因子

Desc3

・データを箱ひげ図で確認

Desc4

・PlotViolinコマンド

PlotVioli

・PlotMultiDensコマンド

PlotMultiDens

・PlotMarDensコマンド

PlotMarDens

少しでも、あなたの解析が楽になりますように!!

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をコピーしました