031-033 デリミターとファイルの読み込み/エクセルファイルの読み込み(S3)
デリミター
デリミターは列の分割を何らかの記号を利用して表現するものです。
- よく用いられるデリミターは
- , カンマ
- ; セミコロン
- /t(tab) タブ
等があります。
read_delim関数での読み込み方法
read_delimは設定するべき項目が多いですが、基本的には設定項目に「=」がついていないもののみの設定でOK
read_delimの場合は、file, delimの二種類のみです。
例:read_delim(“itiji\tekitou.csv” , delim = “,”)
delimの指定がデフォルトで行われている関数も用意されており
デリミター | 関数 |
---|---|
,(カンマ) | read_csv |
;(セミコロン) | read_csv2 |
/t (タブ) | read_tsv |
を利用することで、ファイルの読み込みが可能になります。
その他、知っておいたほうが良いオプションとして
- col_types = col(.default = “c”):強制的にデータをすべて文字として読み込みます。
- locale = locale(encoding=“SHIFT-JIS”):Windowsでは特に、Shift-JisかUTF-8と指定しないと文字化けすることがあります。
インポートの手順
ファイルの保存場所
getwd() #がパスのレクチャーでお話しした、「妖精?」がいる場所です。
読み込み方法
(ブログ上に掲載しているスクリプトは、対象とするファイルの配布をブログ上では実施していないので、コピペしても動かないことをご了解ください。)
read_file("import_practice.txt") #でファイル内容の確認ができます #\tはTABを表す文字列です。ですので、これはタブ区切り #delim = "\t"と入力することで読み込むことができます。 library(readr) read_delim("import_practice.txt", delim = "\t") #もしくは、delim="\t"がデフォルトの設定となっている #read_delim → read_tsvを利用します read_tsv("import_practice.txt") #======================== # 次のファイルは、 read_file("import_practice2.txt") # "\r\n"は改行を表します。 # ちょっとRで確認するのはしんどいですが、 #「,」で区切られているみたいです read_delim("import_practice2.txt",delim=",") read_csv("import_practice2.txt") #=================================== #最後は、 read_file("import_practice3.txt") read_delim("import_practice3.txt", delim=";") read_csv2("import_practice3.txt")
エクセルファイルの読み込み
- 一番頻度が高い形式はExcelファイル(.xls, .xlsx)です。
- readrにはエクセル形式を読み込む機能はありませんが、readxlパッケージを利用すれば読み込むことが可能です。
install.packages("readxl") readxl::read_excel("import_practice.xlsx")