ソース → 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 = FALSE
library(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 = "シート名")
# シート名はシート番号でも OK
haven パッケージで読み込み
dat <- haven::read_sas("sample.sas7bdat")
dat <- haven::read_dta("sample.dta")
dat <- haven::read_sav("sample.sav")
Encoding=cp932
Encoding=UTF8
dat <- 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 でソースコードを公開しています