【R】datawizard
2021年6月19日
1. はじめに
datawizard
は、データの処理、クリーニング、変型等を簡単に行ってくれるパッケージです。tidyverseの簡易版のような感じでしょうか。
2. インストール
CRANからインストールできます。
install.packages("datawizard")
3. つかってみる
まずは、フィルタリング。
library(datawizard) matching_rows <- data_match(mtcars, data.frame(cyl = 4, gear = 4)) mtcars[matching_rows, ]
mpg cyl disp hp drat wt qsec vs am gear carb
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
確かにお手軽ですね。
外れ値の処理です。
winsorize(anscombe)
> winsorize(anscombe)
x1 x2 x3 x4 y1 y2 y3 y4
[1,] 10 10 10 8 8.04 9.13 7.46 6.58
[2,] 8 8 8 8 6.95 8.14 6.77 5.76
[3,] 12 12 12 8 7.58 8.74 8.15 7.71
[4,] 9 9 9 8 8.81 8.77 7.11 8.47
[5,] 11 11 11 8 8.33 9.13 7.81 8.47
[6,] 12 12 12 8 8.81 8.10 8.15 7.04
[7,] 6 6 6 8 7.24 6.13 6.08 5.76
[8,] 6 6 6 8 5.68 6.13 6.08 8.47
[9,] 12 12 12 8 8.81 9.13 8.15 5.76
[10,] 7 7 7 8 5.68 7.26 6.42 7.91
[11,] 6 6 6 8 5.68 6.13 6.08 6.89
Reshapeもできます。WideなデータをLongに変更します。
wide_data <- data.frame(replicate(5, rnorm(10)))
X1 X2 X3 X4 X5
1 0.8989335 0.7876378 1.83986064 -0.31808121 -1.0707843
2 0.7130050 0.6279114 -0.14377266 0.28358610 0.1217523
3 1.6243979 1.1752866 0.48438050 -0.55977177 0.9103065
4 -0.1903934 -1.7954762 1.52558310 0.10336741 1.1136218
5 0.7598743 -0.1191321 0.42590315 -0.43730022 -0.7944927
6 -1.6448969 0.4423005 0.96344142 -0.08729114 0.1666696
7 -0.4394345 0.6947211 0.24501367 -1.11960598 0.3567817
8 0.7171853 1.0387063 -0.80469703 -0.90108982 0.1820921
9 -1.2429354 0.8920764 -0.55494769 0.59727675 2.0410205
10 1.1468064 -0.5663328 -0.07387813 0.78933631 1.4476702
data_to_long(wide_data)
Name Value
1 X1 0.89893351
2 X2 0.78763780
3 X3 1.83986064
4 X4 -0.31808121
5 X5 -1.07078428
6 X1 0.71300504
7 X2 0.62791139
8 X3 -0.14377266
9 X4 0.28358610
10 X5 0.12175234
11 X1 1.62439792
12 X2 1.17528664
13 X3 0.48438050
14 X4 -0.55977177
15 X5 0.91030652
16 X1 -0.19039340
17 X2 -1.79547619
18 X3 1.52558310
19 X4 0.10336741
20 X5 1.11362179
21 X1 0.75987429
22 X2 -0.11913210
23 X3 0.42590315
24 X4 -0.43730022
25 X5 -0.79449270
26 X1 -1.64489691
27 X2 0.44230054
28 X3 0.96344142
29 X4 -0.08729114
30 X5 0.16666965
31 X1 -0.43943448
32 X2 0.69472105
33 X3 0.24501367
34 X4 -1.11960598
35 X5 0.35678173
36 X1 0.71718534
37 X2 1.03870631
38 X3 -0.80469703
39 X4 -0.90108982
40 X5 0.18209206
41 X1 -1.24293543
42 X2 0.89207643
43 X3 -0.55494769
44 X4 0.59727675
45 X5 2.04102048
46 X1 1.14680641
47 X2 -0.56633278
48 X3 -0.07387813
49 X4 0.78933631
50 X5 1.44767015
データのプロパティも見ることができます。
describe_distribution(swiss)
Variable | Mean | SD | IQR | Min | Max | Skewness | Kurtosis | n | n_Missing
-----------------------------------------------------------------------------------------
Fertility | 70 | 12.5 | 14.9 | 35.0 | 92 | -0.49 | 0.59 | 47 | 0
Agriculture | 51 | 22.7 | 32.5 | 1.2 | 90 | -0.34 | -0.74 | 47 | 0
Examination | 16 | 8.0 | 10.0 | 3.0 | 37 | 0.48 | 0.13 | 47 | 0
Education | 11 | 9.6 | 6.0 | 1.0 | 53 | 2.42 | 7.43 | 47 | 0
Catholic | 41 | 41.7 | 88.2 | 2.1 | 100 | 0.51 | -1.65 | 47 | 0
Infant.Mortality | 20 | 2.9 | 4.1 | 10.8 | 27 | -0.35 | 1.19 | 47 | 0
4. さいごに
いろいろ機能が満載です。手軽にデータ処理ができますね。これは、easystat
のグループの一つのパッケージのようです。