readxl()

エクセルのデータを読み込む

監査実務ではエクセルでデータを受け渡しすることが多いが、通常はエクセル側でCSVにしてから、read.csv()でデータを読み込む。

しかし、Rからエクセルのデータを読み込むためのパッケージがいくつか用意されている。

readxlパッケージ: read_excel()

obj <- read_excel("エクセルファイル", シート番号)

[package]

read_csv()との違いに注意

エクセルデータを読み込むに便利なreadxlパッケージのread_excel()関数だが、使い方がread_csv()とは違うので注意

特に、パラメタ指定でエクセルの列(Rでは項目名になる)の読み込みで型を指定する場合

read_csv(...., col_types = cols(列1 = "numeric", 列2 = "character", .default = "c"))

read_excel(..., col_types = c("numeric", "text", "date",...)

となる

つまりread_csv()などの場合は、cols()というリスト型のデータタイプになるが、read_excel()の場合は文字列ベクトルになるところが大きく違う

またエクセルファイルのシートは最初にあるものがデフォルトで読み込まれるが、sheet = "シート名"で指定することもできる

sheet = シートの順序を示す数字

でもよいが、エクセルファイルがマクロを含んだファイル(拡張子が、xlsm)についてはうまく行かないので、明示的にシート名を指定したほうがよい