ยินดีต้อนรับสู่คอร์ส!

การจัดการข้อมูลด้วย data.table ใน R

Matt Dowle and Arun Srinivasan

Instructors, DataCamp

data.table คืออะไร?

  • data.frame ที่ได้รับการปรับปรุง
    • รับช่วงและขยายความสามารถจาก data.frame
  • โครงสร้างข้อมูลแบบคอลัมน์
  • ทุกคอลัมน์ต้องมีความยาวเท่ากัน แต่สามารถมีชนิดข้อมูลต่างกันได้
การจัดการข้อมูลด้วย data.table ใน R

ทำไมต้องใช้ data.table?

  • ไวยากรณ์กระชับและสม่ำเสมอ
    • คิดในแง่ของ rows, columns และ groups
    • มี placeholder สำหรับแต่ละส่วน
# General form of data.table syntax
DT[i, j, by]
   |  |  |
   |  |  --> grouped by what?
   |  -----> what to do?
   --------> on which rows?
การจัดการข้อมูลด้วย data.table ใน R

benchmark

การจัดการข้อมูลด้วย data.table ใน R

ทำไมต้องใช้ data.table?

  • มีฟีเจอร์ครบครัน
    • รองรับการประมวลผลแบบ Parallelization
    • อัปเดตข้อมูลเร็ว by reference
    • Join ข้อมูลได้อย่างทรงพลัง (Joining Data with data.table in R)
การจัดการข้อมูลด้วย data.table ใน R

การสร้าง data.table

สร้าง data.table ได้ 3 วิธี:

  • data.table()
  • as.data.table()
  • fread()
การจัดการข้อมูลด้วย data.table ใน R

การสร้าง data.table

library(data.table)
x_df <- data.frame(id = 1:2, name = c("a", "b"))
x_df
id name
 1    a
 2    b
x_dt <- data.table(id = 1:2, name = c("a", "b"))
x_dt
id name
 1    a
 2    b
การจัดการข้อมูลด้วย data.table ใน R

การสร้าง data.table

y <- list(id = 1:2, name = c("a", "b"))
y
$id
1 2
$name
"a" "b"
x <- as.data.table(y)
x
id name
 1    a
 2    b
การจัดการข้อมูลด้วย data.table ใน R

data.table และ data.frame (I)

เนื่องจาก data.table คือ data.frame ...

x <- data.table(id = 1:2, 
                name = c("a", "b"))
x
id name
 1    a
 2    b
class(x)
"data.table" "data.frame"
การจัดการข้อมูลด้วย data.table ใน R

data.table และ data.frame (II)

ฟังก์ชันที่ใช้กับ data.frame ใช้งานได้กับ data.table เช่นกัน

nrow(x)
2
ncol(x)
2
dim(x)
2 2
การจัดการข้อมูลด้วย data.table ใน R

data.table และ data.frame (III)

data.table จะไม่แปลงคอลัมน์ชนิด character เป็น factor โดยอัตโนมัติ

x_df <- data.frame(id = 1:2, name = c("a", "b"))
class(x_df$name)
"factor"
x_dt <- data.table(id = 1:2, name = c("a", "b"))
class(x_dt$name)
"character"
การจัดการข้อมูลด้วย data.table ใน R

data.table และ data.frame (IV)

ไม่ตั้งค่า ต้องการ หรือใช้ row names

rownames(x_dt) <- c("R1", "R2")
x_dt
   id name
1:  1    a
2:  2    b
การจัดการข้อมูลด้วย data.table ใน R

มาฝึกกันเถอะ!

การจัดการข้อมูลด้วย data.table ใน R

Preparing Video For Download...