权重在'中不起作用;aov';R的功能

权重在'中不起作用;aov';R的功能,r,anova,weighted,R,Anova,Weighted,我在R中通过aov函数实现加权数据集时遇到了麻烦。 例如,我的数据集“data_file”有目标变量“Y”和四个独立的变量(treat、V1、V2、V3) 假设: V1(2组)和treat(3组)->分类, V2和v3-->连续 我想检查治疗组之间自变量的基线比较。 为此,我运行了aov测试,例如: base_V2_aov <- aov(data_file$V2 ~ data_file$treat) base_V2_anov <- anova(base_V2_aov) base_V2

我在R中通过
aov
函数实现加权数据集时遇到了麻烦。
例如,我的数据集“data_file”有目标变量“Y”和四个独立的变量(treat、V1、V2、V3)
假设:
V1(2组)和treat(3组)->分类,
V2和v3-->连续

我想检查治疗组之间自变量的基线比较。
为此,我运行了
aov
测试,例如:

base_V2_aov <- aov(data_file$V2 ~ data_file$treat)
base_V2_anov <- anova(base_V2_aov)
base_V2
我在一个stackoverflow回答中读到,
survey
软件包不支持单向方差分析测试的加权,但
aov
函数支持。 所以我运行了以下代码:

base_V2_aov <- aov(data_file$V2 ~ data_file$trea, weights(data_file$weight))
base_V2_anov <- anova(base_V2_aov)
print(base_V2_anov)

base\u V2\u aov似乎您应该使用:
weight=您在
aov
参数中的权重变量。

我复制了类似于您的数据集的内容,在使用上述代码后,各组之间的比较结果有所不同,这表明加权方法是有效的。

我认为您应该使用
权重
参数。比如
weights=data\u文件$weights
。你试过了吗?现在,您似乎正在尝试使用一个
weights()
函数,您正在将该函数传递给
data
aov()
函数的第二个参数)。@aosmith,实际上我以为我已经试过了。成功了。谢谢
base_V2_aov <- aov(data_file$V2 ~ data_file$trea, weights(data_file$weight))
base_V2_anov <- anova(base_V2_aov)
print(base_V2_anov)
base_V2_aov <- aov(data_file$V2 ~ data_file$trea, weights(weight))
base_V2_aov <- aov(data_file$V2 ~ data_file$trea, weights(data_file))