加权因变量的双向ANOVA

时间:2018-08-09 14:48:18

标签: r regression linear-regression lm anova

尝试按照个体数量比较多年来的3个独立人群,我有这种数据集:

year <- c(rep(2000,5),rep(2001,3),rep(2002,7))
region <- c(1,1,2,3,3,1,2,3,rep(1,3),rep(2,3),3)
size <- c(28,24,26,56,47,85,12,24,68,71,42,59,12,25,33)
count <- c(3,8,9,1,2,4,7,12,4,8,3,2,7,15,4)
df <- data.frame(year, region, size, count)

哪个给:

year region size count
2000      1   28     3
2000      1   24     8
2000      2   26     9
2000      3   56     1
2000      3   47     2
2001      1   85     4
2001      2   12     7
2001      3   24    12
2002      1   68     4
2002      1   71     8
2002      1   42     3
2002      2   59     2
2002      2   12     7
2002      2   25    15
2002      3   33     4

我想进行2向方差分析:

model.2way <- lm(size ~ year * region, df)  # example of code
anova(model.2way)

我的问题是变量sizecount加权:对于每个size,我有count个个体。我有数百万个数据,无法轻松地将我的数据转换为数百万个size值。

您知道一种使用这种加权数据进行2通方差分析的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

model.2way <- lm(size ~ year * region, df, weights = count)

来自?lm

  

...当“权重”的元素为正整数w_i时,每个响应y_i是w_i单位权重观察值的平均值...

换句话说,权重2表示该案例出现两次。