R语言中的函数2:predict()
目录
predict()的用法
函数形式
参数介绍
predict.glm()的用法
函数形式
参数介绍
输出介绍
实例
predict.lm()的用法
参数含义
实例
predict()的用法
函数形式
predict (object, ...)
该函数是一个大类,其中还包含很多变体:
[1] predict.ar* predict.Arima* predict.arima0* predict.glm
[5] predict.HoltWinters* predict.lm predict.loess* predict.mlm*
[9] predict.nls* predict.poly* predict.ppr* predict.prcomp*
[13] predict.princomp* predict.smooth.spline* predict.smooth.spline.fit* predict.StructTS*
注意:我们可以直接利用这些变体进行预测,也可以都利用predict()函数,除了参数不一样外,输出结果是一样的。
参数介绍
- object 一个模型对象
- ... 额外参数
predict.glm()的用法
函数形式
## S3 method for class 'glm'
predict(object, newdata = NULL,type = c("link", "response", "terms"),se.fit = FALSE, dispersion = NULL, terms = NULL,na.action = na.pass, ...)
参数介绍
- object: 是一个从glm继承的模型对象
- newdata: 是一个数据框,如果缺失就用训练数据进行预测,也即拟合值
- type: 表示预测种类。默认是归一化的线性预测;responses是归一化的响应变量。因此对于一个二分类模型,默认是log-odds (logit归一化的概率),然而type="response"给出的是预测概率。“terms”返回一个矩阵提供在线性预测下模型公式中每一项的拟合值。
- se.fit: 是一个bool值,表示标准误差是否需要。
- dispersion: GLM中用于计算标准化误差的离差。如果缺失,将会返回模型对象中的summary.
- terms: with
type = "terms"
by default all terms are returned. A character vector specifies which terms are to be returned. - na.action: 表示如何对待newdata中的缺失数据,默认是将缺失值预测为NA.
输出介绍
- 如果se.fit=FALSE, 返回一个预测值的向量或者矩阵。如果type='terms',返回的是一个矩阵并且有个属性是“constant”.
- 如果se.fit=TRUE, 返回一个list,其中的元素包含
- fit: 预测值,就如se.fit=FALSE
- se.fit: 估计的标准化误差
- residual.scale: 一个常数给出了用于计算标准化误差的散度的平方根。
实例
require(graphics)## example from Venables and Ripley (2002, pp. 190-2.)
ldose <- rep(0:5, 2)
numdead <- c(1, 4, 9, 13, 18, 20, 0, 2, 6, 10, 12, 16)
sex <- factor(rep(c("M", "F"), c(6, 6)))
SF <- cbind(numdead, numalive = 20-numdead)
budworm.lg <- glm(SF ~ sex*ldose, family = binomial)
summary(budworm.lg)plot(c(1,32), c(0,1), type = "n", xlab = "dose",ylab = "prob", log = "x")
text(2^ldose, numdead/20, as.character(sex))
ld <- seq(0, 5, 0.1)lines(2^ld, predict(budworm.lg, data.frame(ldose = ld,sex = factor(rep("M", length(ld)), levels = levels(sex))),type = "response"))lines(2^ld, predict(budworm.lg, data.frame(ldose = ld, sex = factor(rep("F", length(ld)), levels = levels(sex))), type = "response"))lines(2^ld, predict.glm(budworm.lg, data.frame(ldose = ld,sex = factor(rep("M", length(ld)), levels = levels(sex))),type = "response"),col='red')
注意将predict()换成predict.glm()结果一样
predict.lm()的用法
## S3 method for class 'lm'
predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf,interval = c("none", "confidence", "prediction"),level = 0.95, type = c("response", "terms"),terms = NULL, na.action = na.pass,pred.var = res.var/weights, weights = 1, ...)
参数含义
- object: 这里是lm的对象或者继承类
- interval: 是置信区间的类型。
- level: Tolerance/confidence level.
- pred.var: 未来观测值的方差。
- weights: 用于预测的方差权重,这可是一个数值向量或者单边模型公式。如果是后者,它可以解析为基于newdata的一个运算。
实例
require(graphics)## Predictions
x <- rnorm(15)
y <- x + rnorm(15)
predict(lm(y ~ x))
new <- data.frame(x = seq(-3, 3, 0.5))
predict(lm(y ~ x), new, se.fit = TRUE)
pred.w.plim <- predict(lm(y ~ x), new, interval = "prediction")
pred.w.clim <- predict(lm(y ~ x), new, interval = "confidence")
matplot(new$x, cbind(pred.w.clim, pred.w.plim[,-1]),lty = c(1,2,2,3,3), type = "l", ylab = "predicted y")## Prediction intervals, special cases
## The first three of these throw warnings
w <- 1 + x^2
fit <- lm(y ~ x)
wfit <- lm(y ~ x, weights = w)
predict(fit, interval = "prediction")
predict(wfit, interval = "prediction")
predict(wfit, new, interval = "prediction")
predict(wfit, new, interval = "prediction", weights = (new$x)^2)
predict(wfit, new, interval = "prediction", weights = ~x^2)
将predict()换成predict.lm()结果一样
R语言中的函数2:predict()相关推荐
- R开发(part8)--应用R语言中的函数环境空间
学习笔记,仅供参考,有错必纠 文章目录 R开发 应用R语言中的函数环境空间 R语言的函数环境空间 封闭环境 绑定环境 运行环境 调用环境 函数环境空间图示 R开发 应用R语言中的函数环境空间 R语言的 ...
- R语言中的函数20:parse(),eval()和do.call()
文章目录 parse()函数的用法 实例 eval()函数的用法 实例: do.call()函数的用法 实例 实现对多个数据框的合并 parse()函数的用法 parse()可以把字符串解析为R语言的 ...
- R语言中的函数基本知识点
@[R语言中的plot()函数的用法] plot() pch 点符号类型 cex 点符号大小lty 线条类型 lty=1代表实线,2至6都是虚线,虚的程度不一样lwd 线条宽度col 颜色xlim y ...
- R语言中的函数5:purrr:map()
文章目录 前言 map(.x,.f,...),map2(.x,.y,.f,...),pmap(.I,.f,...) 数据准备 map()测试 map2()测试 pmap()测试 map_lgl(),m ...
- R语言中的函数5:purrrmap()
文章目录 前言 map(.x,.f,-),map2(.x,.y,.f,-),pmap(.I,.f,-) 数据准备 map()测试 map2()测试 pmap()测试 map_lgl(),map2_lg ...
- R语言中的函数17:as.Date()和as.POSIXlt()
文章目录 as.Date()介绍 as.Date()实例 format()函数 format()函数实例 as.POSIXlt()函数和as.POSIXct()函数 实例 POSIXct()和POSI ...
- R语言中的函数11:corrplot::corrplot()和corrplot.mixed()
文章目录 corrplot() 介绍 用法 实例: corrplot.mixed() 用法 实例 corrplot() 介绍 该函数实现了对correlation矩阵和置信区间的图示化.并且它也可以对 ...
- R语言中的函数3:curve()
文章目录 curve函数简介 实例 绘制y=x的直线 绘制 y = 2x + 3 的直线 y= 2x + 3 幂函数图像 y = x 三角函数图像 余切函数 curve函数简介 curve函数语法格式 ...
- java把二维转换为一维_在R语言中什么函数可以将二维数组转换成一维数组
满意答案 vi31892i 2013.09.11 采纳率:44% 等级:11 已帮助:6956人 这好象是汇编语言的问题吧 举个例子吧 #include "iostream.h&quo ...
最新文章
- idhttpserver的使用方法
- Web 趋势榜:上周最有意思、最热门的 10 大 Web 项目 - 210625
- 面试进阶之字符串常量池
- JMeter——并发测试工具类安装及使用
- Shadow DOM的理解
- (免费领取Java面试题)Java面试中经常被问到的问题
- wpf程序网络的影响_DotNetCore Web应用程序中的Cookie管理
- 【CSRF-01】跨站请求伪造漏洞基础原理及攻防
- dell emc isilon环境 Windows共享文件下生成.snapshot无法删除
- Win11 25179.1000补丁推送了!
- 扫地机器人扫水泥地板有用吗_拖地机器人好用吗—拖地机器人的优点介绍
- R三星463无线网卡驱动,声音驱动程序,FN快捷键驱动,Easy_Display_Manager
- 过去66年的66项最佳发明(1994~2019)
- Linux service之自定义服务
- windows开启远程连接
- python xlwt 设置表格的行高方法
- 活动预告|CoodeWisdom 软件智能化开发与运维学术报告系列 第4期(陈鹏飞 中山大学)...
- 项目 调度 服务器,(2)项目构建(Reactor部分)【Lars-基于C++负载均衡远程服务器调度系统教程】...
- Asia's pollution exodus: Firms struggle to woo top talent 逃离亚洲空气污染:企业难以吸引顶尖人才
- 10个免费的响应式布局HTML5+CSS3模板