🕛

【R】 データの読み込み

2025/01/31に公開

本記事をはじめとし、自分への備忘録も兼ねて、Rを用いたデータ分析を行うためのプログラムを紹介します。

目次

  1. csvデータの読み込み
  2. xlsxデータの読み込み
  3. まとめ


1. csvデータの読み込み

csvとはComma-Separated Valuesの略で、簡単に言うとカンマ(,)で区切ったデータである。
エクセル形式とは違って、csvでは単一のアクティブシートしか保存されないため、1csvファイルにつき1シートと比較的シンプルなデータ形式である。

Rにおいては、デフォルトのread.csv()でcsvデータの読み込みが実施できる。

data <- read.csv(file = "",
                 header = T/F,
                 sep = ",",
                   :
                 )

各オプションの詳細は以下の通り

  • file : 読み込むデータのファイルパス(拡張子込みのパス)
    ※ WindowsではファイルからRにコピペすると、\がファイル刻みを示すが、こちら向きのスラッシュはRで識別されず、/こちら向きのスラッシュに直しておく必要があります。

  • header : 先頭行の読み込みを行うかどうか、デフォルトは TRUE
    FALSEにすると、先頭行もデータのobsとして見なされるため、基本はTRUEで良さそう

  • sep : 区切り文字の指定、デフォルトは","
    ""と空白を区切り文字とすると、表読み込み関数であるread.table()としていることは同じになる。
    ただ、csvでするとコンマ区切りを無視してしまうので、おかしなことになるか、エラーが起きるので、csv読み込みであれば、デフォルトの","をいじらない方が安全。

上に挙げたオプションの他にも扱えるオプションはさまざまありますが、とりわけ指定が必要なのは、fileheaderくらいでしょうか。
読み込んでみて、もし思い通りのデータが確認出来なかったら他のオプションを追加していく方が実務的かもしれません。


2. xlsxデータの読み込み

xlsxデータはデフォルトのRに入っている関数ではなく、別途パッケージ関数を用いて読み込みを行います。

library(openxlsx)


data <- read.xlsx(xlsxFile = "",
                  sheet = ,
                  startRow = 1,
                  colNames = TRUE,
                  rowNames = FALSE,
                      :
                  )

各オプションの詳細は以下の通り

  • file : 読み込むデータのファイルパス(拡張子込みのパス)

  • sheet : 読み込みたいシートの名前(文字列)もしくはシート番号(数字)

  • startRow : 読み込みを開始する行数、デフォルトは1

  • colNames : 列名を読み込むかどうか、デフォルトはTRUE

※ 開始行の設定は基本的にはデフォルトで十分であるが、挙動としては、colNames = TRUE とすると、先頭行は列名読み込みに使われ、自然と2行目からの読み込みとなります。startRowcolNamesの指定を受けての挙動になるため、colNames=TRUEかつstartRow=2とすると、データの開始行は元のデータの3行目から、ということになります。

元データの先頭行からデータがあれば、colNames=FALSEかつstartRow=1が妥当で、
元データの先頭行に列名が来ていれば、colNames=TRUEかつstartRow=1もしくはcolNames=FALSEかつstartRow=2が自然となるようなイメージです。

  • rowNames : 行名を読み込むかどうか、デフォルトはFALSE

rowNames=TRUEとした場合、1列目が行名読み込みに使われ、データとして扱えるのが2列目からとなってしまう点に注意が必要です。


read.xlsx()に関しても、上に挙げたオプションの他にも扱えるオプションはさまざまありますが、
手元のデータに合わせて、オプションを調整する。もし思い通りのデータが確認出来なかったら、他のオプションを追加していく方が実務的かもしれません。


3. まとめ

データの読み込みについて、紹介してきました。

  • csvデータであれば、デフォルトで扱えるread.csv()
  • xlsxデータであれば、{openxlsx}read.xslx()

が扱いやすく、おすすめです。


本記事につきまして、おすすめのオプションやより使いやすい関数などありましたら、お気軽にコメント頂けますと幸いです。

Discussion