讀取 raw 資料並轉成資料結構
如前所述,iotools 之所以快速,其中一個原因是它把從硬碟讀取資料與將二進位資料轉換為 data.frame 或 matrix 這兩個步驟分開。以二進位格式儲存的資料會從硬碟複製到記憶體中,作為 raw 物件。接著再把這些 raw 物件傳給最佳化的函式,將其轉成 data.frame 或 matrix 物件。
在這個練習中,你會學到如何先用 readAsRaw() 函式從磁碟讀取資料(取得 raw 二進位資料),再使用 mstrsplit() 與 dstrsplit() 函式把它轉成 matrix 或 data.frame。
本練習屬於課程
R 的可擴展資料處理
練習說明
- 將
"mortgage-sample.csv"讀成 raw 向量。 - 將 raw 向量的內容轉換為整數型別的
matrix。 - 將 raw 向量的內容轉換為具有 16 個整數欄位的
data.frame。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Read mortgage-sample.csv as a raw vector
raw_file_content <- ___("mortgage-sample.csv")
# Convert the raw vector contents to a matrix
mort_mat <- ___(___, sep = ",", type = ___, skip = 1)
# Look at the first 6 rows
head(mort_mat)
# Convert the raw file contents to a data.frame
mort_df <- ___(___, sep = ",", col_types = rep("integer", 16), skip = 1)
# Look at the first 6 rows
head(mort_df)