r - 如何使用预测获得标准偏差?
问题描述
我正在尝试绘制三向交互。首先,我expand.grid
用来创建变量的不同组合。然后我predict
用来获取预测值。它运作良好,但是,我想获得标准偏差或置信区间。一旦我将选项包含在se.fit = T
中predict
,我就会得到一些我无法解释的结果,因为两种组合得到一个预测值,而另外两个得到四个结果的范围。我不确定se.fit = T
在这种情况下该选项是否错误,或者问题是否在于我对结果的解释。有人可以帮忙吗?
这是没有该se.fit
选项的代码:
set.seed(20170925)
dat <- data.frame(time=gl(n = 2,k = 5000),
y= rnorm(10000, mean=1000, sd=400),
a=factor(sample(1:2, 10000, replace=TRUE)),
b=factor(sample(1:2, 10000, replace=TRUE)),
c=factor(rep(rep(1:3,times=c(2500,2500,5000)),2)))
m = lm(y ~ a*b*c, data=dat)
pred <- expand.grid(a=factor(1:2),b=factor(1:2), c=factor(1, levels=c(1,2,3)))
pred$y <- predict(m,pred)
要添加该se.fit
选项,我们运行相同的代码,但将最后一行更改为:
pred$y <- predict(m,pred, se.fit = T)
解决方案
predict
现在给你一个列表,你只需要挑选它的元素,也许是这样的:
p <- predict( m, pred, se.fit=TRUE )
pred$y <- p$fit
pred$se.fit <- p$se.fit
编辑:让它更简单
推荐阅读
- android - 无法识别的选项:运行 cordova build android 时 --illegal-access=permit
- java - Java/Jackson:为什么序列化日期有一个额外的 04?
- scala - 如何在运行中的 AbstractModule 中注入执行上下文?
- mysql - 关于电晕的挑战作为练习
- azure - 我想撤销组中所有用户的刷新令牌。有人可以检查我的工作吗?
- azure-devops - Azure DevOps 工作流规则
- python - 将可变长度字符串格式化为python中的列
- node.js - NodeJS 在服务器上启用 grpc 压缩
- c++ - 带有 GCC 插件的 C++ 语言/库扩展。可能吗?
- javascript - 找到与某个类最近的 html 元素(在任何级别)