问题描述
我试图了解我从一个假数据集获得的结果。我有两个自变量,hours
,type
和响应pain
。
第一个问题:82.46721如何计算为第一类的lsmeans?
第二个问题:为什么两种类型的标准误差都完全相同(8.24003)?
第三个问题:为什么两种类型的自由度都为3?
data = data.frame(
type = c("A","A","B","B"),hours = c(60,72,61,54,68,66),# pain = c(85,95,69,73,29,30)
pain = c(85,85,69)
)
model = lm(pain ~ hours + type,data = data)
lsmeans(model,c("type","hours"))
> data
type hours pain
1 A 60 85
2 A 72 95
3 A 61 69
4 B 54 85
5 B 68 95
6 B 66 69
> lsmeans(model,"hours"))
type hours lsmean SE df lower.CL upper.CL
A 63.5 82.46721 8.24003 3 56.24376 108.6907
B 63.5 83.53279 8.24003 3 57.30933 109.7562
解决方法
尝试一下:
newdat <- data.frame(type = c("A","B"),hours = c(63.5,63.5))
predict(model,newdata = newdat)
这里要注意的重要一点是您的模型将hours
作为连续的预测变量,而不是一个因素。