You are on page 1of 2

工作目錄

 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]])

You might also like