R 如何计算数据表中加权平均值的偏差?

R 如何计算数据表中加权平均值的偏差?,r,data.table,R,Data.table,我想计算数据表中许多变量的(加权)平均值偏差 让我们以以下示例集为例: mydt只需稍微调整一下加权平均值计算: mydt[ , 拉普拉( .SD[,(x,y)], 函数(var)var加权平均值(var,w=w) ), by=id ] id x y 1: 1 0.0000 0.0000 2: 2 -0.3333 0.3333 3: 2 0.6667 -0.6667 4: 3 -1.0000 1.0000 5: 3 0.0000 0.0000 6: 3 1.0000

我想计算
数据表
中许多变量的(加权)平均值偏差

让我们以以下示例集为例:


mydt只需稍微调整一下加权平均值计算:

mydt[
,
拉普拉(
.SD[,(x,y)],
函数(var)var加权平均值(var,w=w)
),
by=id
]
id x y
1:  1  0.0000  0.0000
2:  2 -0.3333  0.3333
3:  2  0.6667 -0.6667
4:  3 -1.0000  1.0000
5:  3  0.0000  0.0000
6:  3  1.0000 -1.0000

解决方案通过建议的@davidernburg符号简化进行更新。

@davidernburg谢谢。它确实更简单,但也丢失了原始变量名,您得到的是
V1
V2
,而不是
x
y
。然后
.SD[,(x,y)]
?为了便于编程使用,您可以始终提供列名的字符向量:
.SD[,c(“x”,“y”),with=FALSE]