Rで解析:テーブル表示をcsvに出力です。便利!「tableone」パッケージ


投稿日: Rの解析に役に立つ記事

Rで加工したデータの結果をテーブルで表示する「tableone」パッケージの紹介です。結果をRのコンソールへ整形して表示するだけでなく、csvファイルに出力するコマンドも収録されています。

コンソールに表示されるテーブルを「エクセル」で加工したい方にオススメです。

パッケージのバージョンは0.7.0。R version 3.2.1でコマンドを確認しています。


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

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

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

実行コマンドの紹介

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

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

######データ例の作成########
#データ例の作成
a <- sample(1:10, 100, replace = TRUE)
TestData <- data.frame(Group = factor(sample(paste0("Group", a), 100, replace = TRUE)),
                       Data1 = a,
                       Data2 = c(-a[1:80], sample(210:230, 20, replace = TRUE)))
#データ構造を確認
str(TestData)
'data.frame':	100 obs. of  3 variables:
$ Group: Factor w/ 10 levels "Group1","Group10",..: 6 8 2 6 7 1 8 6 2 6 ...
$ Data1: int  5 7 4 4 10 4 2 2 2 4 ...
$ Data2: int  -5 -7 -4 -4 -10 -4 -2 -2 -2 -4 ...
############################

#data.frameをテーブル化:CreateTableOneコマンド
TestTable <- CreateTableOne(data = TestData)
TestTable
                  Overall      
n                   100        
Group (%)                      
Group1            12 (12.0) 
Group10           13 (13.0) 
Group2             7 ( 7.0) 
Group3            10 (10.0) 
Group4            14 (14.0) 
Group5            18 (18.0) 
Group6             8 ( 8.0) 
Group7            12 (12.0) 
Group8             1 ( 1.0) 
Group9             5 ( 5.0) 
Data1 (mean (sd))  5.47 (2.93) 
Data2 (mean (sd)) 39.92 (91.44)

#CreateTableOneの出力をsummaryコマンドで出力
summary(TestTable)
### Summary of continuous variables ###

strata: Overall
        n miss p.miss mean sd median p25 p75 min max skew kurt
Data1 100    0      0    5  3      5   3   8   1  10  0.1 -1.2
Data2 100    0      0   40 91     -4  -7  -1 -10 230  1.5  0.3

=======================================================================================
  
### Summary of categorical variables ### 
  
  strata: Overall
  var   n miss p.miss   level freq percent cum.percent
Group 100    0    0.0  Group1   12    12.0        12.0
                      Group10   13    13.0        25.0
                       Group2    7     7.0        32.0
                       Group3   10    10.0        42.0
                       Group4   14    14.0        56.0
                       Group5   18    18.0        74.0
                       Group6    8     8.0        82.0
                       Group7   12    12.0        94.0
                       Group8    1     1.0        95.0
                       Group9    5     5.0       100.0

#数値をカテゴリ変数で処理:factorVarsオプション
#列名で指定します
TestTable <- CreateTableOne(data = TestData, factorVars = colnames(TestData[2]))
TestTable
Overall      
n                   100        
Group (%)                      
   Group1            12 (12.0) 
   Group10           13 (13.0) 
   Group2             7 ( 7.0) 
   Group3            10 (10.0) 
   Group4            14 (14.0) 
   Group5            18 (18.0) 
   Group6             8 ( 8.0) 
   Group7            12 (12.0) 
   Group8             1 ( 1.0) 
   Group9             5 ( 5.0) 
Data1 (%)                      
   1                 11 (11.0) 
   2                  8 ( 8.0) 
   3                 11 (11.0) 
   4                 10 (10.0) 
   5                 13 (13.0) 
   6                 10 (10.0) 
   7                 10 (10.0) 
   8                  4 ( 4.0) 
   9                 10 (10.0) 
   10                13 (13.0) 
Data2 (mean (sd)) 39.92 (91.44)

#作業フォルダにテーブルをCSVで出力
#CreateTableOneの出力をprintコマンドで出力
TestTable <- print(TestTable)
#作業フォルダにcsvファイルを出力
write.csv(TestTable, file = "TestTable.csv")

CSVでの出力例

factorVarsオプション適応後のcsvをエクセルで開いたものです。Windowsでも問題がないことを確認しています。
taboneMac


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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク