「データを解析する前におこなっている作業の紹介」を先日紹介しました。そんな、解析する前にデータの特徴を探るのに便利なコマンドが収録されたパッケージの紹介です。
データを解析する前の作業を紹介
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コマンドによる出力です。
・カテゴリ
・連続変数
・因子
・データを箱ひげ図で確認
・PlotViolinコマンド
・PlotMultiDensコマンド
・PlotMarDensコマンド
少しでも、あなたの解析が楽になりますように!!