Làm quen với iotools: Nhập dữ liệu

Xử lý dữ liệu có khả năng mở rộng trong R

Simon Urbanek

Member of R-Core, Lead Inventive Scientist, AT&T Labs Research

Xử lý theo lô (chunk)

  1. Nạp từng phần dữ liệu
  2. Chuyển chúng thành đối tượng gốc
  3. Tính toán và lưu kết quả

Lặp lại 1–3 cho đến khi xử lý hết dữ liệu

Xử lý dữ liệu có khả năng mở rộng trong R

Nhập dữ liệu

  • Thường việc nạp dữ liệu tốn thời gian hơn xử lý, và gồm 2 bước
    • Lấy dữ liệu từ đĩa là thao tác tương đối chậm
    • Chuyển dữ liệu thô thành đối tượng R gốc
Xử lý dữ liệu có khả năng mở rộng trong R

Nhập dữ liệu với iotools

Trong gói iotools, việc nạp dữ liệu vật lý và phân tích (parse) đầu vào thành đối tượng R được tách riêng để linh hoạt và hiệu năng tốt hơn.

Xử lý dữ liệu có khả năng mở rộng trong R

iotools: Nhập dữ liệu

  • readAsRaw() đọc toàn bộ dữ liệu vào một raw vector
  • read.chunk() đọc dữ liệu theo từng khối vào một raw vector
Xử lý dữ liệu có khả năng mở rộng trong R

iotools: Phân tích dữ liệu

  • mstrsplit() chuyển dữ liệu thô thành ma trận
  • dstrsplit() chuyển dữ liệu thô thành data frame
Xử lý dữ liệu có khả năng mở rộng trong R

iotools: Nạp và phân tích dữ liệu

read.delim.raw() = readAsRaw() + dstrsplit()

Xử lý dữ liệu có khả năng mở rộng trong R

Xử lý theo lô (chunk)

  • Không nhất thiết phải nhập toàn bộ dữ liệu
  • Đọc từng "chunk" dòng từ nguồn dữ liệu
  • Không cần cấu trúc trung gian
Xử lý dữ liệu có khả năng mở rộng trong R

Kết nối tệp

# Mở kết nối tệp
fc <- file("data-file.csv", "rb")
# Đọc dòng đầu nếu dữ liệu có header
readLines(fc, n = 1)
....
# Mã để nhập và phân tích dữ liệu
....
# Đóng kết nối tệp
close(fc)
Xử lý dữ liệu có khả năng mở rộng trong R

Cùng luyện tập nào!

Xử lý dữ liệu có khả năng mở rộng trong R

Preparing Video For Download...