Rによるcsv/excel/sas7bdatの読み込み
read.csvなどが用意されているが、遅い
freadやreadrがおすすめ
SASデータセットの読み込みならhavenやsas7bdat
fread
# ライブラリ
library(data.table)
library(tidyverse)
library(sas7bdat)
# dataの保管先
File_Pass <- "パス/ファイル名"
# 列の名前や型を定義しておく
Var_Name <- c( "列名1" , "列名2" , "列名3" )
Var_Type <- c( "character" , "numeric" , "numeric" )
Csv_Data <- fread( file = File_Pass , sep = "," , col.names = Var_Name , colClasses = Var_Type , stringsAsFactors = FALSE , skip = 1 , header = FALSE , na.strings = "" , data.table = FALSE )
sep = ","を変更すれば、区切り文字が「,」じゃなくても読み込むことが可能
skip = で何行目から読むのか(1行目に列名あるのかどうかなど)
header = FALSEで列名をcsvから取らない
(データに列名まで含まれていない場合や、列名はskipしている場合に使用)
列の定義面倒くさい場合、全部文字変数としてしまえばいいかも
readr
read_csv:csv読み込み
read_delim:テキストファイル読み込み(区切り文字を選べる)
excelはreadxlのread_excelでも読み込める
シートはsheetかrangeで指定
File_Pass <- "パス/ファイル名"
Rg <- "シート名!A1:E100"
Excel_Data <- readxl::read_excel( path = File_Pass , range = Rg )
readrはチートシートあるので、細かな仕様は略
(Rstudioにていくつかのチートシートを公開している)
https://rawgit.com/rstudio/cheatsheets/master/data-import.pdf
日本語含むときはこっちのほうが使いやすい
sas7bdat
read.sas7bdat:SASデータセット読み込み
特別な指定は不要
File_Pass <- "パス/ファイル名"
Data <- read.sas7bdat( file = File_Pass )
※sas7bdatの場合はcompress = yesしているデータセットを読み込めないため、havenのread_sasの方がいいかも
ただし、havenのread_sasは日本語のデータでエラーが出ることがあったので、微妙な感じもする…
https://www.rdocumentation.org/packages/readr/versions/1.3.1
https://www.rdocumentation.org/packages/readxl/versions/1.3.1/topics/read_excel
https://readxl.tidyverse.org/reference/read_excel.html
https://readxl.tidyverse.org/reference/cell-specification.html
https://www.rdocumentation.org/packages/data.table/versions/1.14.0/topics/fread
https://www.rdocumentation.org/packages/sas7bdat/versions/0.5/topics/read.sas7bdat
https://www.rdocumentation.org/packages/haven/versions/2.4.1/topics/read_sas
https://haven.tidyverse.org/