見出し画像

Rの使い方備忘録①~データの読み込み

この備忘録は、RやRStudioのインストールは済んでおり、いざデータ分析を行おうとしている方々向けのノートです。
データのクリーニングや分析まで(データの可視化もそのうちやりたい)を記録しようと思っています。
雑多なものですので、そこまで期待せずに読み進めてください。

初めは以下3つのことに関する記録です(誤りがあれば教えてください、、、)。

  1. パッケージの読み込み(library)

  2. ワーキングディレクトリの設定(setwd)

  3. データの読み込み(csv/xlsx/xls/dta)

また、いくつかの補足事項も記載しています。

1.パッケージの読み込み(library)

 Rには、便利な関数を持つ"パッケージ"が存在している(※パッケージを入れずとも、デフォルトで使えるようになっている関数もあります)。データの読み込みやクリーニング、分析、データの可視化をするための有用な関数を使うためには、Rにパッケージを読み込む必要がある。
 
 libraryという関数を使ってパッケージを読み込んでいく。

library(tidyverse)

 今回は、著者が毎回必ず読み込むパッケージ"tidyverse"を読み込んでみた。tidyverseは、データの読み込み~分析、可視化のようにデータ分析を行う者にとって必要なパッケージを集めたパッケージである。

 tidyverseに含まれていないパッケージを読み込むときはどうだろうか。例えば、xlsxファイルを読み込みたいときを考える。xlsxファイルを読み込むには、openxlsxが使える。

library(openxlsx)

 では、dtaファイルを読み込むときはどうだろうか。

library(haven)

 havenパッケージを読み込めば、dtaファイルをRに読み込むためのread_dta関数を使えるようになる。

 このように、必要があればlibraryを使ってパッケージを読み込めば良いが、以下のように汚くなるし、めんどうだろう。

library(tidyverse)
library(openxlsx)
library(haven)
# この作業を繰り返すのはめんどう。

 そこで便利なのが、needs関数である。
 needsを使えば、libraryを用いたパッケージの読み込みはneedsパッケージのみで良くなる。そのため、上のコードは以下のように書き換えられる。

library(needs)
needs(tidyverse, openxlsx, haven)
# すっきり!!

2.ワーキングディレクトリの設定(setwd)

データ分析を行うには(当たり前だが)いくつかのデータセットを読み込む必要がある。大概の人は、1つの分析につき1つのデータフォルダを作って複数のデータセットを保存していると思う。3でも改めて記すが、データを読み込むにはデータの保存場所を書く必要がある。同じ場所を何度も記入するのはめんどうだ。そこで、最初にファイルの保存場所を指定してしまうことで、データの読み込みの際の手間を省くことができる。

ワーキングディレクトリの設定は以下のように行う。

setwd("Z:/WindowUsers/R/analysis1/datafile/")
# ””を忘れない。
# スラッシュは / 。
# (/で終わらせると、データ読み込みのときにデータセット名を書くだけでよくなる。)

 ポイントはいくつかある。まず、データの保存場所(パス)はダブルクォーテーション""で囲うことだ。また、プロパティからパスをコピペしたときスラッシュが\になっているのを/に直すことを忘れないことも大事である。これらをしていないと、エラーが出るので気を付けたい。

3.データの読み込み(csv/xlsx/xls/dta)

1ではRでいろいろな関数を使う準備をし、2ではRで使用するディレクトリを設定した。3では、早速データ分析で使用するデータセットをRに読み込むことを学ぶ。今回は、分析でよく使う4種類のフォーマットのデータ(csv/xlsx/xls/dta)の読み込み方を学ぶ。

⓪基本的な考え方

 それぞれのデータの読み込み方を学ぶ前に、データの読み込みの基本的な考え方を学んでおく。
 Rでは、データを読み込むための関数の中で"ファイルのパス(保存場所)/データ名"を指定する事によってデータを読み込んでいく。2ではワーキングディレクトリを設定したため"ファイルのパス(保存場所)/"の部分は既に指定済みである。よって、"データ名"のみを指定するだけで良くなる。

# 以下のいずれかの方法で読み込む
# setwdなし
data <- function("ファイルのパス/データ名")

# setwdあり
setwd("ファイルのパス/")
data <- function("データ名")

# * functionは仮の関数名である。

 以下では、「health」という名前のデータセットを読み込んでいく。

①csvファイルの読み込み

 csvファイルを読み込むための関数はいくつかあるが、ここではread.csvを使う。使い方は他の関数でも同じであるため、各自調べて使っていただきたい。

health <- read.csv("health.csv")
# すでにワーキングディレクトリを設定している前提です。

# health1 <- read.csv("Z:/WindowUsers/R/analysis1/datafile/health.csv")
# ワーキングディレクトリを設定してない場合↑


②xlsxファイルの読み込み

 xlsxファイルの読み込みには、read.xlsxが使える。この関数はパッケージopenxlsxが必要であるため、libraryで読み込んでおきたい。csvファイルと同様に、以下のように読み込める。

library(openxlsx) # ライブラリの読み込み
setwd("Z:/WindowUsers/R/analysis1/datafile/") # ワーキングディレクトリの設定

health2 <- read.xlsx("health.xlsx") # データの読み込み

③xlsファイルの読み込み

 xlsファイルの読み込みには、read_excelが使える。この関数はパッケージreadxlが必要であるため、libraryで読み込んでおきたい。xlsxファイル同様、以下のように読み込める。

library(readxl) 
setwd("Z:/WindowUsers/R/analysis1/datafile/")

health3 <- read_excel("health.xls")

④dtaファイルの読み込み

 dtaファイルの読み込みには、read_dtaが使える。この関数はパッケージhavenが必要であるため、libraryで読み込んでおきたい。xlsファイル同様、以下のように読み込める。

library(haven) 
setwd("Z:/WindowUsers/R/analysis1/datafile/")

health4 <- read_dta("health.dta")

まとめ(コード再掲)

今回示したRコードをまとめたものを以下に再掲しておく。

# パッケージの読み込み
library(needs)
needs(tidyverse, openxlsx, readxl, haven)
# openxlsx -> read.xlsx
# readxl -> read_excel
# haven -> read_dta

# ワーキングディレクトリの設定
setwd("Z:/WindowUsers/R/analysis1/datafile/")

# データの読み込み
health1 <- read.csv("health.csv")
health2 <- read.xlsx("health.xlsx")
health3 <- read_excel("health.xls")
health4 <- read_dta("health.dta")

補足事項

#メモ ①tidyverse

tidyverseには以下のパッケージが含まれている。
ggplot2:可視化のためのパッケージ
dplyr:データ操作や加工のためのパッケージ
tidyr:"tidy data"(データ分析のために綺麗に加工されたデータセット)
     を作るためのパッケージ
readr:ファイルを読み込むためのパッケージ
purrr:関数を書きやすくするためのパッケージ?
tibble:"tibble"というデータセットを作成、操作するためのパッケージ
stringr:文字列操作のためのパッケージ
forcats:factor型のデータを操作しやすくするためのパッケージ
・magrittr:パイプ演算子(%>%)を使えるようにする

#メモ ②読み込んだファイルが文字化けしている

 追加予定

#メモ ③読み込んだファイルが1列に全部つめこまれている

 追加予定

参考


この記事が気に入ったらサポートをしてみませんか?