在 j 中進階計算

R 的 data.table 資料操作

Matt Dowle, Arun Srinivasan

Instructors, DataCamp

在 j 中計算並回傳 data.table

回想你可以用 .() 選取多個欄位

# Recap: Select trip_id and duration columns
ans <- batrips[, .(trip_id, dur = duration)]
head(ans, 2)
trip_id      dur
139545      435
139546      432

你也可以同時對多個欄位計算,並以相同方式回傳 data.table

# Get mean and median of duration
batrips[, .(mn_dur = mean(duration), 
            med_dur = median(duration))]
mn_dur    med_dur
1131.967  511
R 的 data.table 資料操作

問題

  • 如果用一般 data frame 的方式,你會怎麼做?
  • 你的程式碼是否直觀清楚?
# Get mean and median of duration
batrips[, .(mn_dur = mean(duration), med_dur = median(duration))]
mn_dur     med_dur
1131.967   511
R 的 data.table 資料操作

結合 i 使用

結合 i,你可以只對符合條件的列,在 j 中進行欄位計算

batrips[start_station == "Japantown", .(mn_dur = mean(duration), 
                                        med_dur = median(duration))]
mn_dur    med_dur
2464.331  782
R 的 data.table 資料操作

問題

  • 如果用一般 data frame 的方式,你會怎麼做?
  • 你的程式碼是否直觀清楚?
batrips[start_station == "Japantown", .(mn_dur = mean(duration), 
                                        med_dur = median(duration))]
mn_dur     med_dur
2464.331   782
R 的 data.table 資料操作

一起來練習吧!

R 的 data.table 資料操作

Preparing Video For Download...