在 j 中进行高级计算

在 R 中使用 data.table 进行数据处理

Matt Dowle, Arun Srinivasan

Instructors, DataCamp

在 j 中计算并返回 data.table

回顾:可用 .() 选择多列

# 回顾:选择 trip_id 和 duration 列
ans <- batrips[, .(trip_id, dur = duration)]
head(ans, 2)
trip_id      dur
139545      435
139546      432

也可对多列计算,并以相同方式返回 data.table

# 计算 duration 的均值与中位数
batrips[, .(mn_dur = mean(duration), 
            med_dur = median(duration))]
mn_dur    med_dur
1131.967  511
在 R 中使用 data.table 进行数据处理

问题

  • 若用 data frame 方式,该操作如何实现?
  • 您的代码是否直观清晰?
# 计算 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...