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


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

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

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

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


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

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

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

実行コマンドの紹介

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

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

######データ例の作成########
#データ例の作成
set.seed(1234)
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)))
############################

#data.frameをテーブル化:CreateTableOneコマンド
TestTable <- CreateTableOne(data = TestData)
TestTable

                   Overall      
n                   100        
Group (%)                      
Group1             3 ( 3.0) 
Group10           15 (15.0) 
Group2             2 ( 2.0) 
Group3             8 ( 8.0) 
Group4            18 (18.0) 
Group5             6 ( 6.0) 
Group6            20 (20.0) 
Group7             5 ( 5.0) 
Group8            13 (13.0) 
Group9            10 (10.0) 
Data1 (mean (SD))  5.68 (2.70) 
Data2 (mean (SD)) 39.06 (90.31)

#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    6  3      6   4   8   1  10 0.02 -1.0
Data2 100    0      0   39 90     -5  -8  -2 -10 230 1.52  0.3

=======================================================================================
  
  ### Summary of categorical variables ### 
  
  strata: Overall
var   n miss p.miss   level freq percent cum.percent
Group 100    0    0.0  Group1    3     3.0         3.0
Group10   15    15.0        18.0
Group2    2     2.0        20.0
Group3    8     8.0        28.0
Group4   18    18.0        46.0
Group5    6     6.0        52.0
Group6   20    20.0        72.0
Group7    5     5.0        77.0
Group8   13    13.0        90.0
Group9   10    10.0       100.0

#数値をカテゴリ変数で処理:factorVarsオプション
#列名で指定します
TestTable <- CreateTableOne(data = TestData, factorVars = colnames(TestData[2]))
TestTable

                   Overall      
n                   100        
Group (%)                      
Group1             3 ( 3.0) 
Group10           15 (15.0) 
Group2             2 ( 2.0) 
Group3             8 ( 8.0) 
Group4            18 (18.0) 
Group5             6 ( 6.0) 
Group6            20 (20.0) 
Group7             5 ( 5.0) 
Group8            13 (13.0) 
Group9            10 (10.0) 
Data1 (%)                      
1                  7 ( 7.0) 
2                  6 ( 6.0) 
3                 11 (11.0) 
4                 13 (13.0) 
5                 10 (10.0) 
6                 17 (17.0) 
7                  6 ( 6.0) 
8                 11 (11.0) 
9                  8 ( 8.0) 
10                11 (11.0) 
Data2 (mean (SD)) 39.06 (90.31)

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

CSVでの出力例

factorVarsオプション適応後のcsvをエクセルで開いたものです。

taboneMac

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

スポンサードリンク

スポンサードリンク