Tính toán theo nhóm

Xử lý dữ liệu với data.table trong R

Matt Dowle, Arun Srinivasan

Instructors, DataCamp

Đối số by

Đối số by cho phép tính toán cho từng giá trị duy nhất của các cột (nhóm) chỉ định trong by

# Có bao nhiêu chuyến đi từ mỗi start_station?
ans <- batrips[, .N, by = "start_station"]
head(ans, 3)
          start_station        N
San Francisco City Hall     2145
 Embarcadero at Sansome    12879
      Steuart at Market    11579
Xử lý dữ liệu với data.table trong R

Đối số by

Đối số by chấp nhận cả vector character tên cột và list biến/biểu thức

# Tương đương batrips[, .N, by = "start_station"]
ans <- batrips[, .N, by = .(start_station)]
head(ans, 3)
          start_station        N
San Francisco City Hall     2145
 Embarcadero at Sansome    12879
      Steuart at Market    11579
Xử lý dữ liệu với data.table trong R

Đối số by

Cho phép đổi tên cột nhóm ngay trong lệnh

ans <- batrips[, .(no_trips = .N), by = .(start = start_station)]
head(ans, 3)
                  start   no_trips
San Francisco City Hall       2145
 Embarcadero at Sansome      12879
      Steuart at Market      11579
Xử lý dữ liệu với data.table trong R

Biểu thức trong by

Biểu thức list() hoặc .() trong by cho phép tính biến nhóm ngay trong lệnh

# Lấy số chuyến đi theo mỗi start_station cho từng tháng
ans <- batrips[ , .N, by = .(start_station, mon = month(start_date))]
head(ans, 3)
          start_station mon    N
San Francisco City Hall   1  193
 Embarcadero at Sansome   1  985
      Steuart at Market   1  813
Xử lý dữ liệu với data.table trong R

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

Xử lý dữ liệu với data.table trong R

Preparing Video For Download...