Rの使い方:標準偏差を±表示に

  • 2021年7月8日
  • 2021年8月10日
  • 統計-R
  • 190view
スポンサーリンク

Rでtableの標準偏差を±に表示にする

統計の世界では賛否あるようですが、医学論文では標準偏差を±で表現することがあります。

Rのtableoneではmean (SD)で表示されるため書き換える必要があります。

これを当初の私はcsvに出力してから手作業しておりましたが、手間で仕方がありませんでした。

以下のコードで解決しました。

使用する練習データはこちら

tableoneでの2群比較についてはこちら

 

library(tableone)
baseline <- c("BMI", "HbA1c", "HT", "DM")
baseline_factor <- c("HT", "DM")
table1 <- CreateTableOne(vars = baseline, 
                        strata = "Male", 
                        data =df,
                        factorVars = baseline_factor)

table1

tab1 <- print(table1)
tab1 <- gsub(" ", "", tab1) #スペースを消す
tab1 <- gsub("\\(", " \\(", tab1) #±に変更する部分にのみスペースを空ける
mean_sd <- c("BMI (mean (SD))", "HbA1c (mean (SD))")
tab1[mean_sd,] <- gsub("\\(", "\\± ", tab1[mean_sd,])
tab1[mean_sd,] <- gsub("\\)", "", tab1[mean_sd,])
table1

 

上記のコードを下半分を解説します。

ここではBMIとHbA1cについて標準偏差を±で表示したいとします。

tableoneで作成した表には余計なスペースがあるので消します。

tab1 <- gsub(" ", "", tab1) #スペースを消す

±に変更する部分にのみスペースを空けます。

tab1 <- gsub("\\(", " \\(", tab1) #±に変更する部分にのみスペースを空ける

±に変更したい項目をmean_sdに代入します。

mean_sd <- c("BMI (mean (SD))", "HbA1c (mean (SD))")

“(” を “±” に変えます。

tab1[mean_sd,] <- gsub("\\(", "\\± ", tab1[mean_sd,])

“)” を消します。

tab1[mean_sd,] <- gsub("\\)", "", tab1[mean_sd,])

これで完成です。

 

画像19

これをcsvで出力すれば手作業不要です。

 

スポンサーリンク
最新情報をチェックしよう!