データファイルの入出力(特にCSVファイルとExcelファイル)について説明します。
外部ファイルの入力
外部ファイルの読み込み
分析に使うデータは、Microsoft Excel形式など、外部ファイルとして準備することが多いと思います。 ここでは、CSV(Comma-Separated Values:カンマ区切り値)ファイルとExcelファイルをRで読み込む方法を説明します。
サンプルファイルとして、saga.csvとsaga.xlsxの2つのファイルを用意したので、下のリンクからダウンロードしてください。 ダウンロードしたファイルは、ワーキングディレクトリの中に[data]というフォルダを作成し、その中に保存することにしましょう。
ダウンロードしたファイルを開いて、それぞれの中身を確認してみてください。
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.
# 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を特に区別せずに説明します。