エクセルファイルの操作にオススメな「openxlsx」パッケージと連携して、簡単に表をシートへ書き込めます。本パッケージの利用で「openxlsx」パッケージがもっと便利になります。
なお、「openxlsx」パッケージはJAVAを利用していないのでデータサイズが大きくともエラーを起こさずに読み書きが可能なパッケージです。パッケージの使用方法は下記記事を参考にしてください。
・Rで解析:セル体裁!大きなデータも大丈夫!エクセル操作の「openxlsx」パッケージ
https://www.karada-good.net/analyticsr/r-338/
パッケージバージョンは1.2.4。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("tablaxlsx") install.packages("openxlsx")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み library("tablaxlsx") library("openxlsx") ###openxlsxパッケージ##### #ワークブックの作成:createWorkbookコマンド wb <- createWorkbook() #ワークシートの作成:addWorksheetコマンド addWorksheet(wb, sheetName = "TEST") ##### #シートに枠線を描写:bordearコマンド #対象シートを指定:hojaオプション #枠線左上部の行位置:filaオプション #枠線左上部の列位置:columnaオプション #枠線左上部からの幅:anchoオプション #枠線左上部からの高さ:altoオプション #スタイル設定:estiloオプション #createStyleコマンドで設定 #線の位置:borderオプション; #"Top","Bottom","Left","Right","TopBottom","LeftRight", #"TopLeftRight","TopBottomLeftRight"の設定が可能 #線の種類:borderStyleオプション; #"thin","medium","dashed","thick","double","hair","mediumDashed", #"dashDot","mediumDashDot","dashDotDot","mediumDashDotDot","slantDashDot"の設定が可能 #色の指定;borderColourオプション bordear(wb, hoja = "TEST", fila = 3, columna = 2, ancho = 5, alto = 4, estilo = createStyle(border = "TopLeftRight", borderStyle = c("double", "dashed"), borderColour = c("red", "blue"))) ###データを書き込む際に線を追記する##### ###データ例の作成##### n <- 10 TestData <- data.frame(Group = sample(paste0("Group ", 1:4), n, replace = TRUE), Data = sample(0:100, n, replace = TRUE)) ######## #escribirTablaコマンド #データ行名の有無:cabecerasFilaオプション #データ列名の有無:limpiarColumnasオプション #罫線の設定:bordesオプション;全てのオプションを設定しています escribirTabla(tabla = TestData, wb, hoja = "TEST", fila = 10, columna = 2, limpiarFilas = FALSE, cabecerasFila = FALSE, limpiarColumnas = TRUE, bordes = c("TABLA","CABECERA","CABECERASFILA","CABECERASCOLUMNA","DATOS")) ###openxlsxパッケージ##### #保存場所の指定 library("tcltk") setwd(paste(as.character(tkchooseDirectory(title = "フォルダを選択"), sep = "", collapse =""))) #ワークブックの出力:saveWorkbookコマンド saveWorkbook(wb, file = "TEST.xlsx", overwrite = TRUE) ########
出力例
なお、実行コマンドでは表のみがシートに書き込まれます。
少しでも、あなたのウェブや実験の解析が楽になりますように!!