openxlsxについて
openxlsxはワークシートの書き込み、スタイル設定、編集に高レベルのインターフェイスを提供することにより、xlsxファイルの作成を簡素化します。「Rcpp」を使用することで、読み取り/書き込み時間は「xlsx」および「XLConnect」パッケージと同等になり、Javaへの依存性がなくなるという利点が追加されています。
openxlsxによりxlsxファイルを読み込むには、read.xlsx()を使用します。
read.xlsx()の使い方
read.xlsx()の使い方は次になります。
read.xlsx(
xlsxFile,
sheet,
startRow = 1,
colNames = TRUE,
rowNames = FALSE,
detectDates = FALSE,
skipEmptyRows = TRUE,
skipEmptyCols = TRUE,
rows = NULL,
cols = NULL,
check.names = FALSE,
sep.names = ".",
namedRegion = NULL,
na.strings = "NA",
fillMergedCells = FALSE
)
read.xlsx()の引数の意味
xlsxファイルまたはWorkbookオブジェクト、xlsxファイルへのURLを指定します。
データを読み取るシートの名前または整数(シートの位置)を指定します。
データの検索を開始する最初の行を指定します。
ファイルの先頭にある空の行は、startRowの値に関係なく、常にスキップされます。
真偽値を指定します。
TRUEの場合、データの最初の行が列名として使用されます。
真偽値を指定します。
TRUEの場合、データの最初の列が行名として使用されます。
真偽値を指定します。
TRUEの場合は、日付の認識と変換を試みます。
TRUEの場合、空の行はスキップされ、データを含む最初の行がNAの行を返す後の空の行はスキップされます。
真偽値を指定します。
TRUEの場合、空の列はスキップされます。
Excelファイル内のどの行を読み取るかを指定する数値ベクトルを指定します。
NULLの場合、すべての行が読み込まれます。
Excelファイル内のどの列を読み取るかを指定する数値ベクトルを指定します。
NULLの場合、すべての列が読み込まれます。
真偽値を指定します。
TRUEの場合、データフレーム内の変数の名前がチェックされ、構文的に有効な変数名であることが確認されます。
列名をブランクに置き換える1文字を指定します。
デフォルトは「.」です
ブック内の名前付き領域を指定します。
startRowがNULLでない場合、引数rowsと引数colsは無視されます。
NAとして解釈される文字列の文字ベクトルを指定します。
空白のセルはNAとして返されます。
真偽値を指定します。
TRUEの場合、結合されたセルの値は、結合内のすべてのセルに与えられます。
read.xlsx()の戻り値
read.xlsx()の戻り値はデータフレームです。
例
次は、openxlsxにあらかじめ格納されているreadTest.xlsxをread.xlsx()を使用してデータフレームに読み込むサンプルになります。
library(openxlsx)
xlsx_file <- system.file("extdata", "readTest.xlsx", package = "openxlsx")
df <- read.xlsx(xlsx_file, 1)
df |> str()
'data.frame': 10 obs. of 7 variables:
$ Var1: logi TRUE TRUE TRUE FALSE FALSE FALSE ...
$ Var2: num 1 NA 2 2 3 1 NA 2 3 1
$ Var3: num 1 NA 1.34 NA 1.56 1.7 NA 23 67.3 123
$ Var4: chr "a" "b" "c" NA ...
$ Var5: num 42042 42041 42040 NA NA ...
$ Var6: chr "3209324 This" NA NA NA ...
$ Var7: num NA NA NA NA NA NA NA NA NA NA
df |> head()
Var1 Var2 Var3 Var4 Var5 Var6 Var7
1 TRUE 1 1.00 a 42042 3209324 This NA
2 TRUE NA NA b 42041 NA
3 TRUE 2 1.34 c 42040 NA
4 FALSE 2 NA NA NA
5 FALSE 3 1.56 e NA NA
6 FALSE 1 1.70 f 42037 NA