我想計算一些統計數據並將結果作爲另一個data.table返回。我可以使用以下方法來做到這一點。有條件地添加data.table中的列
DT <- data.table::data.table(station = rep(1:1,52560), mod = rnorm(1*52560),obs = rnorm(1*52560)) # 1year , 1 station
stat <- DT[,.(minObs = min(obs),
minMod = min(mod),
maxObs = max(obs),
maxMod = max(mod),
meanObs = mean(obs)]
但是,我的問題是,我想要有條件地添加這些統計。例如,只有在requestedStats的向量中存在meanObs時, 纔會添加列meanObs。原因是我正在計算相當多的統計數據,而且長度很大,我想給用戶選擇統計數據。我怎樣才能做到這一點?假設
requestedStats = c("maxObs","meanObs")
只是按要求添加。我想避免計算所有的統計數據。只有要求的應該被退回。
這是一個選項來計算所有統計數據,但只返回向量中的那些? –
@newbie你應該編輯你的帖子以反映你對答案的提問。 – Frank