计算均值的95%置信区间。

3
我有一个练习题:
当x2=2300,x7=56和x8=2100时,找到一支球队赢得比赛的平均数的95%置信区间。
在R中是否有直接给出这种置信区间的函数?
我考虑使用confint(f)函数,但是该函数仅适用于一个或多个参数的情况,据我所知,我没有一个参数,而是像beta0+beta1xi这样的函数,其中参数beta已经被估计,点xi将是x2、x7和x8。
另一种方法是手动计算,但这会使问题更加复杂,因为我需要计算标准误差、方差、t值等。
请问您能否帮忙翻译?
谢谢!

在原始数据中有向量y、x2、x7、x8。 - user9802913
我在这里没有看到一个明确的统计问题。你给了我们三个独立的整数,但你没有告诉我们它们代表什么。x2、x7和x8是什么? - IRTFM
@42- x2 是传球码数,x7 是百分之冲刺,x8 是对手的冲球码数。这些数据来自国家橄榄球联盟1976年球队表现(根据该书)。 - user9802913
这样对 x2、x7 和 x8 取平均值是没有意义的。你有向量吗?x2、x7 和 x8 的长度是多少?它们是一些更长数值集合的总和还是摘要? - IRTFM
@42- 为什么没有意义?对于你的问题,是的,是的,不是我所知道的。 - user9802913
请求三个关系如此微弱的数字的平均值毫无意义,即使它们以相同的单位进行测量,也是如此。 - IRTFM
2个回答

2

是的。

R中有一个函数可以直接给出这样的置信区间。

只需输入

predict.lm(f,newdata=data.frame(x2=2300,x7=56,x8=2100),interval="confidence")

其中f是线性模型,即f<-lm(y~x2+x7+x8)

其中y,x2,x7,x8是您特定的向量。


顺便提一句,注意这个函数还可以给出“预测”区间,只需要将“confidence”改为“prediction”。


2
您需要查看的不是confint,而是predict.lm详情 predict.lm生成预测值,通过在新数据框架中评估回归函数得到(默认为model.frame(object))。如果逻辑变量se.fit为TRUE,则计算预测的标准误差。如果设置了数值参数scale(带有可选的df),则在计算标准误差时使用其作为残差标准偏差,否则从模型拟合中提取。设置间隔指定在指定水平上计算置信区间或预测(容限)区间,有时称为窄区间与宽区间。
您需要设置一个数据框,其中包含与模型拟合中使用的列名称相同的列名,该数据框包含您要进行预测的设置值,用于newdata参数。
以下是一个示例,展示如何使用newdata
x1<-c(1,2,5,6); x2<-c(3,2,4,1); x3<-c(5,4,3,4); y<-c(21,21,27,23)
res<-lm(y~x1+x2+x3)
predict.lm(res,newdata=data.frame(x1=4,x2=4,x3=2),
            interval="confidence")

(即你需要一个形式为data.frame(x2= ..., x7=...等的东西,但是你要填写你想要的值)。
然而,你还需要告诉它你需要的区间类型。
predict是通用的;如果你在lm对象上调用predict,它将调用predict.lm,但为了得到正确的帮助,你需要直接查看特定的函数)。

不,我认为应该是predict(f,x2,x7,x8),其中newdata是x2、x7和x8? - user9802913
评论不适合进行长时间的讨论。你没有newdata参数。请查看predict.lmnewdata参数的语法。提供给newdata参数的数据框必须具有回归调用中变量的相同名称。 - Glen_b
predict.lm的帮助文档中的第一个例子中,新参数被定义为new<-data.frame(x=-3,3,.5),其中x是模型中的回归变量。如果我有3个回归变量,我该如何编写它? - user9802913
我在答案中添加了一些更具体的细节。 - Glen_b
不是我需要的默认响应,而是 interval="confidence":predict.lm(res,newdata=data.frame(x1=4,x2=4,x3=2),interval="confidence")。 - user9802913
显示剩余16条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接