Professional Documents
Culture Documents
getwd():確認當前工作目錄
setwd(path):設定工作目錄
RData 檔 (R 二進位檔)
可以呈現任何 R objects 的二進位檔,可以儲存多個 R objects
save(…, file = "filename.rdata") load("filename.rdata") # 儲存 objects 名稱及內容
x <- sample(10); y <- sample(c("Apple", "Cherry", "Orange", "Pear"), 10, replace = TRUE)
z <- round(100*runif(10), 2); w <- c("TRUE", "FALSE"); df <- data.frame(x, y, z, w)
save(x, y, z, w, df, file = "./temp.rdata") rm(x, y, z, w, df)
load("./temp.rdata")
saveRDS(x, file = "filename.rdata") y <- readRDS("filename.rdata") # 僅儲存 object 內容
saveRDS(df, file = "./temp2.rdata")
df2 <- readRDS("./temp2.rdata")) identical(df, df2)
csv 檔及 txt 檔
檔案內 items 以固定字元符號分隔 (csv 檔以 , 分隔)
scan(file = "filename", what = double(), n = -1, sep = "", quiet = FALSE)
read.table(file = "filename", header = FALSE, sep = "", stringsAsFactors = TRUE)
filename 可為本機磁碟路徑或 URL,讀入資料以 data frame 型式呈現
header:是否將資料第一列設為 colnames
sep:設定 items 分隔符號
stringsAsFactors:是否將含有 character 的欄位轉成 factor
tomato <- read.table("./TomatoFirst.csv", header = TRUE, sep = ",")
toma2 <- read.table("./TomatoFirst.csv", header = TRUE, sep = ",", stringsAsFactors =
FALSE)
tomato$Source toma2$Source
衍生函數:read.csv、read.csv2、read.delim、read.delim2
引數 sep 和 dec 的預設值不同
read_delim(file = "filename", delim, col_names = TRUE)
readr package,適合讀取大檔案,讀入資料以 tibble 型式呈現
delim:設定 items 分隔符號
col_names:是否將資料第一列設為欄位名稱
tomato3 <- read_delim("./TomatoFirst.csv", delim = ",")
class(tomato3) tomato3$Source
衍生函數:read_csv、read_csv2、read_tsv
引數 delim 預設值為 delim = ","、delim = ";"、delim = "\t"
Excel 檔
readxl package
1
讀取 Excel 單一表格資料,.xls 或.xlsx 檔案必須先下載至本機磁碟
讀入資料以 tibble 型式呈現
excel_sheets(filename)
檢視 filename 文件裡的表格 (活頁簿)
excel_sheets("./ExcelExample.xlsx")
read_excel(filename, sheet = 數字 or 表格名稱)
讀取 filename 文件裡的表格,預設讀取第一頁
TomatoXL <- read_excel("./ExcelExample.xlsx") class(TomatoXL)
WindXL2 <- read_excel("./ExcelExample.xlsx", sheet = "Wine")
JSON 資料
JSON (JavaScript Object Notation),將資料儲存成純文字檔
jsonlite package,讀取並解析 JSON 文字,嘗試將資料簡化成 data frame
fromJSON(doc)
doc:JSON 字串、檔案或 URL
url1 <- "https://www.jaredlander.com/data/PizzaFavorites.json"
pizza <- fromJSON(url1)
class(pizza) class(pizza$Name) class(pizza$Details)
pizza$Details[[1]] class(pizza$Details[[1]])