桁数を揃えるのにformatやformatCコマンドの利用が考えられますが、行数が多いデータだと設定が面倒です。そんな面倒を解決する「lucid」パッケージを紹介します。なお、実行コマンドの紹介最下部に”format”や”formatC”コマンドの利用をおまけに記述しています。結果は実行コマンドの紹介内以外に記事下部にhtmlテーブルで示しています。
本パッケージでは桁数を整形するだけでなく、切り上げなどの設定もできます。
パッケージバージョンは1.8。windows11のR version 4.2.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("lucid")
実行コマンド
下記コマンドを実行してください。詳細はコメントまたはパッケージヘルプを確認してください。結果をhtmlファイルで出力する方法も紹介しています。
#パッケージの読み込み library("lucid") #####準備##################### #データ例の作成 TestData <- data.frame(ID = LETTERS[1:15], Data1 = c(1001:1010, dnorm(1:5, mean = 10, sd = 3)), Data2 = c(11:20, dnorm(11:15, mean = 10, sd = 3)), Data3 = c(1:10, dnorm(21:25, mean = 10, sd = 3))) ############################## #内容を確認 print(TestData) ID Data1 Data2 Data3 1 A 1.001000e+03 11.00000000 1.000000e+00 2 B 1.002000e+03 12.00000000 2.000000e+00 3 C 1.003000e+03 13.00000000 3.000000e+00 4 D 1.004000e+03 14.00000000 4.000000e+00 5 E 1.005000e+03 15.00000000 5.000000e+00 6 F 1.006000e+03 16.00000000 6.000000e+00 7 G 1.007000e+03 17.00000000 7.000000e+00 8 H 1.008000e+03 18.00000000 8.000000e+00 9 I 1.009000e+03 19.00000000 9.000000e+00 10 J 1.010000e+03 20.00000000 1.000000e+01 11 K 1.477283e-03 0.12579441 1.600902e-04 12 L 3.798662e-03 0.10648267 4.461008e-05 13 M 8.740630e-03 0.08065691 1.112362e-05 14 N 1.799699e-02 0.05467002 2.482015e-06 15 O 3.315905e-02 0.03315905 4.955732e-07 #lucidパッケージを使用 #deiオプションは丸める桁数を指定 lucid(TestData, dig = 4) ID Data1 Data2 Data3 1 A 1001 11 1 2 B 1002 12 2 3 C 1003 13 3 4 D 1004 14 4 5 E 1005 15 5 6 F 1006 16 6 7 G 1007 17 7 8 H 1008 18 8 9 I 1009 19 9 10 J 1010 20 10 11 K 0.0015 0.1258 0.00016 12 L 0.0038 0.1065 0.000045 13 M 0.0087 0.08066 0.000011 14 N 0.018 0.05467 0.000002 15 O 0.0332 0.03316 0 #DTパッケージのインストール #install.packages("DT") #パッケージの読み込み library("DT") #HTMLファイルの保存場所を指定 setwd(paste(as.character(tkchooseDirectory(title = "保存場所を選択"), sep = "", collapse =""))) #データの出力 #lucid非適応 TableDrowData1 <- TestData #lucid適応 TableDrowData2 <- lucid(TestData, dig = 4) #テーブルの作成 DataTable1 <- datatable(TableDrowData1, rownames = FALSE, options = list(pageLength = 15, lengthMenu = c(5, 15)), caption = 'lucid非適応 テーブル', escape = FALSE) DataTable2 <- datatable(TableDrowData2, rownames = FALSE, options = list(pageLength = 15, lengthMenu = c(5, 15)), caption = 'lucid適応 テーブル', escape = FALSE) #作成テーブルをhtmlで出力 saveWidget(DataTable1, 'DataTable1.html') saveWidget(DataTable2, 'DataTable2.html') ####おまけ#### #小数点を指定する。例えば、小数点以下4で揃える test <- 3.14 format(test, nsmall = 4) [1] "3.1400" #小数点を切り捨て format(test, digits = 1) [1] "3" #digitsは桁を指定する。例えばgijitsを2にすると format(test, digits = 2) [1] "3.1" #頭に0を加えて整える formatC(1:13, width = 2, flag = "0") [1] "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13"
結果をhtmlテーブルで出力
モバイルの方はこちらからご覧いただくと見やすいです。
lucid非適応
lucid適応
<lucid非適応>
<lucid適応>
少しでも、あなたの解析が楽になりますように!!