【R×栄養統計】データの読み込み方法を習得しよう【TXT・CSV,・XLSX】

みなさん,こんにちは。
シンノユウキ(shinno1993)です。

今回はR言語を用いてデータの読み込みを行う方法を紹介します.以下の3つのファイル形式を取り扱います:

・TXTファイル (txt)
・CSVファイル (csv)
・Excelファイル (xlsx)

多くの場合,データはこれらの形式のどれかで保存されています.なので,これらをある程度自由に読み込めるようにしておくと良いかと思います.

ではさっそく行きましょう!

スポンサーリンク

作業ディレクトリについて

今後,サンプルファイルをダウンロードし,読み込んでいくにあたり,作業ディレクトリを把握しておく必要があります.作業ディレクトリにダウンロードしたファイルを移動させ,そこから開くと便利だからです.

作業ディレクトリが分からない?そんな場合は以下のコードを実行すると,作業ディレクトリがわかります:

> getwd()
[1] "C:/Users/********"

この場所にダウンロードしたファイルを移動させるか,

もしくは作業ディレクトリを任意の場所に移動させてください.作業ディレクトリの移動には以下のコードを使用します:

> setwd("C:/Users/********/")

setwd("ディレクトリのパス")です.これで作業ディレクトリを移動させることができます.

TXTファイル

ではファイルの読み込みを行っていきましょう.

まずはテキストファイルからです.以下のサンプルファイルをダウンロードしてください:

このテキストファイルには,以下のように,ヘッダーが挿入されているタブ区切りのテキストが格納されています.

これを今から読み込んでみましょう!

テキストファイルを読み込む関数はread.table()が用意されています.

read.table( file, header = FALSE, sep = "" skip = 0 )
  • file:テキストファイルが含まれるファイルパスを入力してください.
  • header:読み込んだテキストファイルに列名(ヘッダー)が入力されているか否かを指定します.含まれる場合はTRUE,含まれない場合はFALSEを指定してください.
  • seq:データの区切り文字を指定します.タブで区切られている場合は"\t"を指定,カンマの場合は","を指定してください.ちなみに separator の略です.
  • skip:データの上部にコメントなど,読み込みが不要なデータが含まれる場合はその行数を指定してください.全てのデータを読み込む場合は0を,一番上のデータの読み込みが不要な場合は1を指定します.

他にも引数はたくさんありますが,とりあえずこれだけ抑えておけば問題ないでしょう.

では実際に読み込んでみましょう.ダウンロードしたファイルを,作業ディレクトリに移動させてください.そして,以下のコードを実行してみましょう.

sample_text <- read.table(
  file = "text.txt",
  header = TRUE, 
  sep = "\t",
  skip = 0
)
sample_text

読みやすいように改行していますが,一行で書いても問題ありません.read.table() で読み込んだファイルを sample_text に代入し,それを最後の行で出力しています.

すると,以下のような表が出力されるはずです:

      sex hight width
1    male   159    77
2  female   170    70
3    male   164    68
4  female   175    64
5    male   167    76
6  female   165    70
7    male   162    67
8  female   160    75
9    male   169    67
10 female   150    78

上手く読み込むことができました!

CSVファイル

次はCSVファイルです.CSVファイルは,CSV:Comma-Separated Values の略で,値がカンマで区切られたテキストファイルなどを指します.データの読み込みは,このCSVファイルで行われる事が多いです.まずは以下のファイルをダウンロードしてください:

このファイルも先ほどのテキストファイルとほぼ同様ですが,以下のようにデータがカンマで区切られています:

このようなCSVファイルを読み込むのには,read.csv関数を使用します:

read.csv(file, header = TRUE, sep = "," skip = 0)

実はこれ,先ほどのread.tableと引数などほぼ同じです.さらにいうと,read.csvでもread.tableでも裏でなされている処理は同じです.引数のsepのデフォルト値がカンマかタブなどのスペースかが違うだけなのです.まぁ,CSVファイルを読むこむ時は,とりあえずread.csvを使っておけば良いんじゃない?ってくらいの認識で構いません.

とりあえず,先ほどと同じように読み込んで表示して見ましょう:

sample_csv <- read.csv(
  "CSV.csv", 
  header = TRUE, 
  sep = ",",
  skip = 0
)
sample_csv

以下のように表示されるはずです:

      sex hight width
1    male   161    65
2  female   163    75
3    male   169    62
4  female   167    70
5    male   155    68
6  female   172    78
7    male   169    77
8  female   170    67
9    male   173    66
10 female   160    73

これでCSVファイルの読み込みもできました!

Excelファイル

最後にExcelファイルの読み込みをしてみましょう.本音をいうと,ExcelファイルをCSVファイルなどのプレーンな状態にしてからデータを読み込んでほしいのですが,実際にデータ分析をするとなるとこのような需要も発生するかと思いますので,Excelファイルの読み込みを行ってみましょう.

ただし,Rの標準機能では,Excelファイルの読み込みはできません.ライブラリ:readxl を使用する必要があります.通常だと,ライブラリを使用する場合はインストールが必要ですが,RStudioを使っているという方は標準でインストールされていますので,不要です.

readxl を使用することで,read_excelが使えるようになります.これの使い方は以下の通りです:

read_excel(file, sheet = 1, skip = 0)

ほとんどread_csvと同じですね.ただし,sheet という引数はread_excel独自のものです.

Excelには複数のシートが格納されている場合があるので,それを指定してあげる必要があります.

では,読み込んでいきましょう.以下のファイルをダウンロードしてください:

このファイルには,1シート目にはsex, height, weight が格納されています.このシートを読み込んでみましょう.以下のコードを入力してください:

library(readxl)
sample_excel <- read_excel(
  "Excel.xlsx",
  sheet = 1,
  skip = 0
)
sample_excel

以下のように表示されるかと思います.Excelデータを読み込んでいるので,データ型も読み取れていますね.

   sex    hight weight
   <chr>  <dbl>  <dbl>
 1 male     172   62.0
 2 female   178   77.0
 3 male     164   79.0
 4 female   155   79.0
 5 male     154   80.0
 6 female   164   70.0
 7 male     177   71.0
 8 female   165   61.0
 9 male     163   71.0
10 female   172   67.0

せっかくなので,2シート目も読み込んでみます.今回はシート名から読み込んでみましょう.

library(readxl)
sample_excel <- read_excel(
  "Excel.xlsx",
  sheet = "Sheet2",
  skip = 0
)
sample_excel

以下のように表示されればOKです.

   sex      age
   <chr>  <dbl>
 1 male    51.0
 2 female  27.0
 3 male    54.0
 4 female  45.0
 5 male    29.0
 6 female  42.0
 7 male    39.0
 8 female  31.0
 9 male    54.0
10 female  39.0

これでExcelファイルの読み込みもできました!

まとめ

今回はデータの読み込みについて,テキストファイル,CSVファイル,Excelファイルの3つのファイル形式についてデータの読み込みを行いました.これからデータ分析を行うにあたって基本となる操作ですので,ぜひマスターしてください.

連載目次

  1. 【R×栄養統計】RとRStudioをインストールしよう
  2. 【R×栄養統計】四則演算と代表値の算出をやってみよう
  3. 【R×栄養統計】データの読み込み方法を習得しよう【TXT・CSV,・XLSX】現在のページ
  4. 【R×栄養統計】性別と肥満度に関係があるか?カテゴリデータの栄養統計
  5. 【R×栄養統計】正規分布しているか?正規性を確認する方法を紹介します
  6. 【R×栄養統計】男女でエネルギー摂取量に差はある?対応のない2群間の栄養統計
  7. 【R×栄養統計】栄養指導に効果はあった?対応のある2群間の栄養統計
  8. 【R×栄養統計】食べる速さでエネルギー摂取量に差がある?対応のない多標本の栄養統計
  9. 【R×栄養統計】多重比較を行う理由と使い分けを紹介|検定の多重性問題
  10. 【R×栄養統計】どの群間に差がある?対応のない多標本における多重比較
タイトルとURLをコピーしました