Rの使い方備忘録①~データの読み込み
この備忘録は、RやRStudioのインストールは済んでおり、いざデータ分析を行おうとしている方々向けのノートです。
データのクリーニングや分析まで(データの可視化もそのうちやりたい)を記録しようと思っています。
雑多なものですので、そこまで期待せずに読み進めてください。
初めは以下3つのことに関する記録です(誤りがあれば教えてください、、、)。
パッケージの読み込み(library)
ワーキングディレクトリの設定(setwd)
データの読み込み(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列に全部つめこまれている
追加予定
参考
この記事が気に入ったらサポートをしてみませんか?