ソース → https://bit.ly/2PIgR9h
![]()

今日のお話はここ
R で分析するためには、データを R に読み込まなければなりません。




setwd() を書く必要はありませんreadr パッケージの read_csv 関数を使いたいとき
# 方法 1
library(readr)
dat <- read_csv("hoge.csv")
# 方法 2
dat <- readr::read_csv("hoge.csv")read.csv()dat <- read.csv("sample.csv", stringsAsFactors = FALSE)readr::read_csv()library(readr)
dat <- read_csv("sample.csv")data.table::fread()readr::read_csv よりも高速data.table = FALSElibrary(data.table)
dat <- fread("sample.csv", data.table = FALSE)system.time(dat <- read.csv("data/Sales.csv")) user system elapsed
3.664 0.086 3.779
system.time(dat2 <- readr::read_csv("data/Sales.csv")) user system elapsed
0.858 0.035 0.951
system.time(dat3 <- data.table::fread("data/Sales.csv")) user system elapsed
0.910 0.019 0.943
read.delim()read.delim()は区切り値のファイルを読む標準関数read.csv()は sep = ","をつけたものdat <- read.delim("sample.tsv", stringsAsFactors = FALSE)readr::read_tsv()library(readr)
dat <- read_tsv("sample.tsv")data.table::fread()library(data.table)
dat <- fread("sample.tsv", data.table = FALSE)read.delim()dat <- read.delim("sample.tsv", stringsAsFactors = FALSE, sep = "|")readr::read_delim()library(readr)
dat <- read_delim("sample.tsv", "|")data.table::fread()library(data.table)
dat <- fread("sample.tsv", data.table = FALSE)read_***()関数が一番オススメ| read.*** | read_*** | fread | |
|---|---|---|---|
| 速さ(500MB) | 約 1 分 | 8 秒 | 3 秒 |
| 区切り値の判定ミス | × | × | △ |
| エンコーディング | ○ | ○ | △ |
dat <- readxl::read_excel("sample.xlsx", sheet = "シート名")
# シート名はシート番号でも OKhaven パッケージで読み込み
dat <- haven::read_sas("sample.sas7bdat")dat <- haven::read_dta("sample.dta")dat <- haven::read_sav("sample.sav")Encoding=cp932Encoding=UTF8dat <- read.csv("sample.csv", stringAsFactors = FALSE, fileEncoding = "cp932")dat <- readr::read_csv("sample.csv", locale = locale(encoding = "cp932"))dat <- data.table::fread("sample.csv", data.table = FALSE) %>%
dplyr::mutate(VAR1 = iconv(VAR1, from = "UTF8", to = "CP932"))



ググると、意外といろいろ出てきます
下記 URL でソースコードを公開しています