Answers:
我认为R帮助页面的lm
答案很好。对权重的唯一要求是提供的向量必须与数据长度相同。您甚至可以只提供数据集中变量的名称,R负责其余部分,NA管理等。您还可以在weight
参数中使用公式。这是示例:
x <-c(rnorm(10),NA)
df <- data.frame(y=1+2*x+rnorm(11)/2, x=x, wght1=1:11)
## Fancy weights as numeric vector
summary(lm(y~x,data=df,weights=(df$wght1)^(3/4)))
# Fancy weights as formula on column of the data set
summary(lm(y~x,data=df,weights=I(wght1^(3/4))))
# Mundane weights as the column of the data set
summary(lm(y~x,data=df,weights=wght1))
请注意,权重必须为正,否则R将产生错误。
lm
摘要中有什么不同?系数还是标准误差?
您的建议应该可行。看看这是否有意义:
lm(c(8000, 50000, 116000) ~ c(6, 7, 8))
lm(c(8000, 50000, 116000) ~ c(6, 7, 8), weight = c(123, 123, 246))
lm(c(8000, 50000, 116000, 116000) ~ c(6, 7, 8, 8))
通过为一个观测值提供相对于其他两个观测值的权重相对两倍的权重,第二行产生与第三行相同的截距和斜率(与第一行的结果不同),类似于复制第三观测值的影响。
summary
第二行和第三行的输出是不同的,尤其是对于系数的p值,我想知道如果2条语句引用相同的数据集会发生这种情况。我在stackoverflow.com/questions/10268689/weighted-regression-in-r中
lm
如果按比例缩放与不按比例缩放,我在摘要中会得到不同的结果...