Rで解析:データの特徴を表で示す「carpenter」パッケージ

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

データの特徴を表で示すことができるパッケージです。色々な使い道があると考えます。結果はコマンドの組み合わせでcsvファイルに出力可能です。

パッケージバージョンは0.2.2。実行コマンドはwindows 11のR version 4.1.2で確認しています。

スポンサーリンク

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

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

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

実行コマンド

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

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

#"%>%"を利用するために読み込み
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}

###データ例の作成#####
n <- 100
TestData <- data.frame("Group" = factor(sample(paste0("Group", 1:3),
                                               n, replace = TRUE)),
                       "Data1" = sample(rnorm(10), n, replace = TRUE),
                       "Data2" = sample(rnorm(1), n, replace = TRUE),
                       "Data3" = sample(rnorm(5), n, replace = TRUE),
                       "Data4" = sample(LETTERS[1:10], n, replace = TRUE))
########

#&#12486;&#12540;&#12502;&#12523;&#20316;&#25104;&#12398;&#12487;&#12540;&#12479;&#12434;&#25351;&#23450;:outline_table&#12467;&#12510;&#12531;&#12489;
#&#34892;&#12398;&#35373;&#23450;:header&#12458;&#12503;&#12471;&#12519;&#12531;
outline_table(data = TestData, header = "Group")
# A tibble: 0 &times; 0

#&#12486;&#12540;&#12502;&#12523;&#12398;&#12487;&#12540;&#12479;&#21015;&#12434;&#35373;&#23450;:add_rows&#12467;&#12510;&#12531;&#12489;
#&#12487;&#12540;&#12479;&#25351;&#23450;:row_vars&#12458;&#12503;&#12471;&#12519;&#12531;
#&#20966;&#29702;&#20869;&#23481;:stat&#12458;&#12503;&#12471;&#12519;&#12531;;stat_median,stat_iqr,stat_medianIQR,
#stat_mean,stat_stddev,stat_meanSD,stat_nPct&#12398;&#35373;&#23450;&#12364;&#21487;&#33021;
#&#23567;&#25968;&#28857;&#12434;&#25351;&#23450;:digits&#12458;&#12503;&#12471;&#12519;&#12531;
outline_table(data = TestData, header = "Group") %>%
  add_rows(row_vars = "Data1", stat = stat_meanSD, digits = 2) %>%
  add_rows(row_vars = "Data1", stat = stat_median, digits = 2)
# A tibble: 2 x 4
#  Variables Group1      Group2       Group3      
#  <chr>     <chr>       <chr>        <chr>       
#1 Data1     0.07 (0.82) -0.02 (0.98) -0.29 (0.95)
#2 Data1     0.09        -0.11        -0.30  

#&#34892;&#21015;&#12521;&#12505;&#12523;&#12398;&#22793;&#26356;:renaming&#12467;&#12510;&#12531;&#12489;
#&#34892;&#21015;&#12398;&#25351;&#23450;:type&#12458;&#12503;&#12471;&#12519;&#12531;;"rows","header"&#12391;&#25351;&#23450;
#&#22793;&#26356;&#20869;&#23481;:replace&#12458;&#12503;&#12471;&#12519;&#12531;;rows&#12398;&#22580;&#21512;&#12399;function&#12391;&#25805;&#20316;&#12377;&#12427;
outline_table(data = TestData, header = "Group") %>%
  add_rows(row_vars = "Data1", stat = stat_meanSD, digits = 2) %>%
  add_rows(row_vars = "Data1", stat = stat_median, digits = 2) %>%
  renaming(type = "header", replace = c("&#25351;&#27161;", "&#12464;&#12523;&#12540;&#12503;1", "&#12368;&#12427;&#12540;&#12407;2", "GROUP3")) %>%
  renaming(type = "rows", replace = function(x) x <- c("&#12487;&#12540;&#12479;1&#12398;meanSD", "&#12487;&#12540;&#12479;1&#12398;median"))
# A tibble: 2 x 4
#  &#25351;&#27161;            &#12464;&#12523;&#12540;&#12503;1   &#12368;&#12427;&#12540;&#12407;2    GROUP3      
#  <chr>           <chr>       <chr>        <chr>       
#1 &#12487;&#12540;&#12479;1&#12398;meanSD 0.07 (0.82) -0.02 (0.98) -0.29 (0.95)
#2 &#12487;&#12540;&#12479;1&#12398;median 0.09        -0.11        -0.30  

#&#20363;:&#12486;&#12540;&#12502;&#12523;&#12434;csv&#12391;&#20986;&#21147;&#12377;&#12427;:build_table&#12467;&#12510;&#12531;&#12489;&#12392;&#32068;&#12415;&#21512;&#12431;&#12379;&#12427;
#&#12509;&#12452;&#12531;&#12488;:finish&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;FALSE&#12395;&#12377;&#12427;
outline_table(data = TestData, header = "Group") %>%
  add_rows(row_vars = "Data1", stat = stat_meanSD, digits = 2) %>%
  add_rows(row_vars = "Data1", stat = stat_median, digits = 2) %>%
  renaming(type = "header", replace = c("&#25351;&#27161;", "&#12464;&#12523;&#12540;&#12503;1", "&#12368;&#12427;&#12540;&#12407;2", "GROUP3")) %>%
  renaming(type = "rows", replace = function(x) x <- c("&#12487;&#12540;&#12479;1&#12398;meanSD", "&#12487;&#12540;&#12479;1&#12398;median")) %>%
  build_table(finish = FALSE) %>%
  write.csv("TEST.csv", row.names = FALSE)

出力例

・例:テーブルをcsvで出力する:build_tableコマンドと組み合わせる


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

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