値の大きな data.table があり、郡域 (CPA) ごとにモード (TRANMOT) ごとの平均移動時間 (TRPDUR) を計算する必要があります。出力は、各 CPA を行とし、非電動モードの平均時間の列と電動モードの平均時間の列を含む 1 つのテーブルにする必要があります。私は2つの別々のdata.tablesでそれを行う汚い方法を思いつきました:
mot_table <- nomot_table <- data.table(trip_dat)
mot_table <- mot_table[!is.na(TRPDUR), list("Motorized Trip Time" = mean(TRPDUR)), keyby = list(CPA, TRANMOT)][TRANMOT == "Motorized"][,TRANMOT:=NULL]
nomot_table <- nomot_table[!is.na(TRPDUR), list("Non-Motorized Trip Time" = mean(TRPDUR)), keyby = list(CPA, TRANMOT)][TRANMOT == "Non-Motorized"][,TRANMOT:=NULL]
それは美しい方法ではありませんが、1 つのテーブルで実行できると確信しています。式 (j) を 2 つの列のリストにすると、TRANMOT の特定の値についてのみ平均を計算する方法がわかりません。 この投稿では、NA を削除して data.table (i) 全体をサブセット化する方法を示しますが、操作を 2 回行ってから行を削除するのではなく、式でサブセット データの平均を計算する必要があります。
ありがとう!