Rで解析:データセットのクリーニングに便利です「janitor」パッケージ


データ内の欠損値を含むデータの削除、データ名の整形、指定値を欠損値に変換するコマンドが収録されているパッケージの紹介です。

「dplyr」パッケージと組み合わせると、とても便利だと思います。

・Rで解析:data.frameの操作が楽々な「tidyr」パッケージ
 https://www.karada-good.net/analyticsr/r-491/

パッケージバージョンは0.1.0.0。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.3.0で確認しています。

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

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

#パッケージのインストール
install.packages("devtools")
devtools::install_github("sfirke/janitor")

実行コマンドの紹介

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

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

###データ例の作成#####
n <- 100
TestData <- data.frame("Group" = sample(paste0("Group", 1:3), n, replace = TRUE),
                       "Data 1" = sample(rnorm(10), n, replace = TRUE),
                       "Data 2" = sample(LETTERS[1:10], n, replace = TRUE))
#欠損値を追加
TestData[50:100,] <- NA
TestData <- cbind(TestData, NAData = NA)
#構造確認
summary(TestData)
  Group        Data.1             Data.2    NAData       
Group1:15   Min.   :-2.43462   G      : 8   Mode:logical  
Group2:18   1st Qu.:-0.51335   C      : 7   NA's:100      
Group3:16   Median :-0.39996   F      : 7                 
NA's  :51   Mean   :-0.05236   E      : 6                 
      3rd Qu.: 1.28194   B      : 5                 
            Max.   : 2.40024   (Other):16                 
            NA's   :51         NA's   :51      
########

#データ名の重複を無くし,英小文字,文字間はアンダーバーに整形:clean_namesコマンド
CleanNameData <- clean_names(TestData)
#確認
colnames(CleanNameData)
[1] "group"  "data_1" "data_2" "nadata"

#指定した内容をNAとする:convert_to_NAコマンド
#vector classも処理が可能です
#指定内容:stringsオプション
ConvertNADAta <- convert_to_NA(TestData, strings = c("A", "D"))
#構造確認
summary(ConvertNADAta)
    Group        Data.1             Data.2    NAData       
Group1:15   Min.   :-2.43462   G      : 8   Mode:logical  
Group2:18   1st Qu.:-0.51335   C      : 7   NA's:100      
Group3:16   Median :-0.39996   F      : 7                 
NA's  :51   Mean   :-0.05236   E      : 6                 
            3rd Qu.: 1.28194   B      : 5                 
            Max.   : 2.40024   (Other): 9                 
            NA's   :51         NA's   :58    

#欠損値のみの行を削除:remove_empty_colsコマンド
summary(remove_empty_cols(ConvertNADAta))
    Group        Data.1             Data.2  
Group1:15   Min.   :-2.43462   G      : 8  
Group2:18   1st Qu.:-0.51335   C      : 7  
Group3:16   Median :-0.39996   F      : 7  
NA's  :51   Mean   :-0.05236   E      : 6  
            3rd Qu.: 1.28194   B      : 5  
            Max.   : 2.40024   (Other): 9  
            NA's   :51         NA's   :58  

#欠損値のみの列を削除:remove_empty_rowsコマンド
summary(remove_empty_rows(ConvertNADAta))
    Group      Data.1             Data.2   NAData       
Group1:15   Min.   :-2.43462   G      :8   Mode:logical  
Group2:18   1st Qu.:-0.51335   C      :7   NA's:49       
Group3:16   Median :-0.39996   F      :7                 
            Mean   :-0.05236   E      :6                 
            3rd Qu.: 1.28194   B      :5                 
            Max.   : 2.40024   (Other):9                 
                               NA's   :7 

少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク