尝试按照个体数量比较多年来的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)
我的问题是变量size
由count
加权:对于每个size
,我有count
个个体。我有数百万个数据,无法轻松地将我的数据转换为数百万个size
值。
您知道一种使用这种加权数据进行2通方差分析的方法吗?
谢谢!
答案 0 :(得分:2)
model.2way <- lm(size ~ year * region, df, weights = count)
来自?lm
:
...当“权重”的元素为正整数w_i时,每个响应y_i是w_i单位权重观察值的平均值...
换句话说,权重2表示该案例出现两次。