Rで解析:data.frameの内容確認に便利「inspectr」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

data.frameの内容確認に便利なパッケージの紹介です。紹介したコマンド以外にも便利なコマンドが収録されています。興味があればパッケージヘルプを確認してください。

パッケージバージョンは1.0.0。windows 10のR version 3.3.2で動作を確認しています。

スポンサーリンク

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

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

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

実行コマンド

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

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

###データ例の作成#####
n <- 15
TestData <- data.frame("x" = sample(c(1:100, ""), n, replace = TRUE),
                       "y" = sample(c(1:200, NA), n, replace = TRUE),
                       "Data1" = sample(c(1:100, NA), n, replace = TRUE),
                       "Data2" = sample(c(50:150, NA), n, replace = TRUE),
                       "Data3" = sample(c(130:140, NA), n, replace = TRUE),
                       "LETTERS" = sample(c(LETTERS[1:24], NA), n, replace = TRUE),
                       "letters" = sample(c(letters[1:24], NA), n, replace = TRUE))
#&#30906;&#35469;
TestData
x   y Data1 Data2 Data3 LETTERS letters
1  11  37    56   146   130       J       q
2   9 100     8   137   137       A       u
3  76 183    36   141   130       T       j
4  90  84    74   136   140       H       t
5   2   3    39    62   137       R       o
6  56  91    78   138   134       N       x
7  32  65    88    95    NA       C       i
8   2  12    55    59   137       W       j
9  63 200    53   141   137       N       v
10 61  98    72   150   137       G       a
11 20  92    34   122   133       I       d
12 74  61     3   116    NA       M       m
13 29  83    54    87   139       B       d
14 87  18    96   132   130       P       d
15 81  35    87    88    NA       M       g
########

#&#12487;&#12540;&#12479;&#12395;&#21547;&#12414;&#12428;&#12427;NA&#12434;FALSE&#12391;&#34920;&#31034;:character_check&#12467;&#12510;&#12531;&#12489;
character_check(TestData)
x    y Data1 Data2 Data3 LETTERS letters
[1,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[2,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[3,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[4,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[5,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[6,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[7,] TRUE TRUE  TRUE  TRUE FALSE    TRUE    TRUE
[8,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[9,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[10,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[11,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[12,] TRUE TRUE  TRUE  TRUE FALSE    TRUE    TRUE
[13,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[14,] TRUE TRUE  TRUE  TRUE  TRUE    TRUE    TRUE
[15,] TRUE TRUE  TRUE  TRUE FALSE    TRUE    TRUE
#&#21442;&#32771;:&#21015;&#12395;&#21547;&#12414;&#12428;&#12427;NA&#12434;&#35336;&#31639;
apply(character_check(TestData), 2, function(x) {length(x) - sum(x)})
x       y   Data1   Data2   Data3 LETTERS letters 
0       0       0       0       3       0       0

#&#29305;&#23450;&#12487;&#12540;&#12479;&#12434;&#22522;&#28310;&#12395;&#25277;&#20986;&#12377;&#12427;:col_check&#12467;&#12510;&#12531;&#12489;
#&#12487;&#12540;&#12479;&#25351;&#23450;:data&#12458;&#12503;&#12471;&#12519;&#12531;
#&#21015;&#12434;&#25351;&#23450;:colname&#12458;&#12503;&#12471;&#12519;&#12531;
#&#20966;&#29702;&#20869;&#23481;&#12434;&#25351;&#23450;:fun&#12458;&#12503;&#12471;&#12519;&#12531;
#&#32080;&#26524;&#12434;&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12395;&#12456;&#12463;&#12475;&#12523;&#12391;&#20986;&#21147;:output&#12458;&#12503;&#12471;&#12519;&#12531;
#FALSE&#20516;&#12434;&#20803;&#12487;&#12540;&#12479;&#12363;&#12425;&#25277;&#20986;&#12377;&#12427;&#12424;&#12358;&#12391;&#12377;
col_check(data = TestData, colname = "Data1",
          fun = function(x) {
            #Data1&#12364;90&#20197;&#19978;&#12434;&#25277;&#20986;
            NaCheck <- (x &gt; 90)
            NaCheck <- ifelse(is.na(NaCheck), FALSE, NaCheck)
            ifelse(NaCheck == TRUE, FALSE, TRUE)},
          output = FALSE)
x  y Data1 Data2 Data3 LETTERS letters
14 87 18    96   132   130       P       d

#col2&#12424;&#12426;&#22823;&#12365;&#12356;col1&#12434;TRUE&#12391;&#34920;&#31034;:greater_than&#12467;&#12510;&#12531;&#12489;
#greater_than_equalto&#12467;&#12510;&#12531;&#12489;&#12418;&#12354;&#12426;&#12414;&#12377;
greater_than(col1 = TestData[, 4], col2 = TestData[, 5])
[1]  TRUE FALSE  TRUE FALSE FALSE  TRUE    NA FALSE
[2]  TRUE  TRUE FALSE    NA FALSE  TRUE    NA

#col2&#12424;&#12426;&#23567;&#12373;&#12356;col1&#12434;TRUE&#12391;&#34920;&#31034;:greater_than&#12467;&#12510;&#12531;&#12489;
#less_than_equalto&#12467;&#12510;&#12531;&#12489;&#12418;&#12354;&#12426;&#12414;&#12377;
less_than(col1 = TestData[, 4], col2 = TestData[, 5])
[1] FALSE FALSE FALSE  TRUE  TRUE FALSE    NA  TRUE
[2] FALSE FALSE  TRUE    NA  TRUE FALSE    NA

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

タイトルとURLをコピーしました