ファイル入出力

公開

2026年4月24日

更新日

2026年4月24日

データファイルの入出力(特にCSVファイルとExcelファイル)について説明します。

外部ファイルの入力

外部ファイルの読み込み

分析に使うデータは、Microsoft Excel形式など、外部ファイルとして準備することが多いと思います。 ここでは、CSV(Comma-Separated Values:カンマ区切り値)ファイルとExcelファイルをRで読み込む方法を説明します。

サンプルファイルとして、saga.csvsaga.xlsxの2つのファイルを用意したので、下のリンクからダウンロードしてください。 ダウンロードしたファイルは、ワーキングディレクトリの中に[data]というフォルダを作成し、その中に保存することにしましょう。

ダウンロードしたファイルを開いて、それぞれの中身を確認してみてください。

図:Excelファイルの例

CSVファイル

Rには、read.csvというCSVファイルを読み込むための関数が用意されています。 しかし、ここでは、より柔軟性の高いreadrパッケージのread_csv関数を使います。

library(readr)
dat <- read_csv("data/saga.csv")
Rows: 20 Columns: 6
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (1): name
dbl (5): code, population, pop_male, pop_female, households

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
dat
# A tibble: 20 × 6
     code name       population pop_male pop_female households
    <dbl> <chr>           <dbl>    <dbl>      <dbl>      <dbl>
 1 412015 佐賀市         236372   111453     124919      93306
 2 412023 唐津市         122785    57547      65238      43872
 3 412031 鳥栖市          72902    34799      38103      27630
 4 412040 多久市          19749     9146      10603       6847
 5 412058 伊万里市        55238    26395      28843      19698
 6 412066 武雄市          49062    23178      25884      16932
 7 412074 鹿島市          29684    13920      15764      10124
 8 412082 小城市          44259    20823      23436      14769
 9 412091 嬉野市          27336    12667      14669       9214
10 412104 神埼市          31842    15172      16670      10913
11 413275 吉野ヶ里町      16411     8136       8275       5891
12 413411 基山町          17501     8266       9235       6321
13 413453 上峰町           9283     4379       4904       3260
14 413461 みやき町        25278    11969      13309       8638
15 413879 玄海町           5902     3035       2867       1918
16 414018 有田町          20148     9356      10792       6900
17 414239 大町町           6777     3077       3700       2560
18 414247 江北町           9583     4497       5086       3225
19 414255 白石町          23941    11133      12808       7253
20 414417 太良町           8779     4125       4654       2838

Excelファイル

Excelファイルを読むには、readxlライブラリのread_excel関数が便利です。

library(readxl)
dat1 <- read_excel("data/saga.xlsx")
dat1
# A tibble: 20 × 6
   code   name       population pop_male pop_female households
   <chr>  <chr>           <dbl>    <dbl>      <dbl>      <dbl>
 1 412015 佐賀市         236372   111453     124919      93306
 2 412023 唐津市         122785    57547      65238      43872
 3 412031 鳥栖市          72902    34799      38103      27630
 4 412040 多久市          19749     9146      10603       6847
 5 412058 伊万里市        55238    26395      28843      19698
 6 412066 武雄市          49062    23178      25884      16932
 7 412074 鹿島市          29684    13920      15764      10124
 8 412082 小城市          44259    20823      23436      14769
 9 412091 嬉野市          27336    12667      14669       9214
10 412104 神埼市          31842    15172      16670      10913
11 413275 吉野ヶ里町      16411     8136       8275       5891
12 413411 基山町          17501     8266       9235       6321
13 413453 上峰町           9283     4379       4904       3260
14 413461 みやき町        25278    11969      13309       8638
15 413879 玄海町           5902     3035       2867       1918
16 414018 有田町          20148     9356      10792       6900
17 414239 大町町           6777     3077       3700       2560
18 414247 江北町           9583     4497       5086       3225
19 414255 白石町          23941    11133      12808       7253
20 414417 太良町           8779     4125       4654       2838
ノート

ところで、先ほどのファイル入力の結果に、tibbleという文字列があるのに気づいた人がいるかもしれません。tibbleは、Rのデータフレームの発展系の1つで、データフレームの代わりによく使われるデータ構造です。read_csv関数やread_excel関数で読み込んだデータは、自動的にtibbleになります。ここでは、データフレームとtibbleを特に区別せずに説明します。

外部ファイルへの出力