R言語による医療データ分析

R言語によるデータ分析のオンラインコースを中心に、さまざまなデータ分析について記載してあります。

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")

まとめ一覧