我有一个与这个问题相关的问题,我之前问过这个问题:Assignment of a value from a foreach loop。我发现,尽管友好用户为我提供的解决方案指向了正确的方向,但它们并没有解决我的实际问题。这里是样本数据集:
td <- data.table(date=c(rep(1,10),rep(2,10)),var=c(rep(1,4),2,rep(1,5)),id=rep(1:10,2))
它和以前一样,但它更好地反映了我的真实数据我想要用文字做什么:对于每个 id,我希望在一定时期内获得所有其他 id 的平均值(例如 mean(td[date=="2004 -01-01" & id!=1]$var) 但适用于所有时期和所有 id)。所以它是某种嵌套操作。我尝试过这样的事情:
td[,.SD[,mean(.SD$var[-.I]),by=id],by=date]
但这并没有给出正确的结果。