- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以创建简单的图表。我希望在同一张图表上有观察值和预测值(来自线性回归)。我正在绘制 Yvariable
与 Xvariable
的对比。只有 1 个预测变量和 1 个响应。我怎样才能将线性回归曲线添加到同一个图表中?
因此得出结论需要帮助:
最佳答案
这是将单个图中的观测值和预测值作为点的一个选项。在观察点上得到回归线更容易,我在第二个说明
首先是一些虚拟数据
set.seed(1)
x <- runif(50)
y <- 2.5 + (3 * x) + rnorm(50, mean = 2.5, sd = 2)
dat <- data.frame(x = x, y = y)
适合我们的模型
mod <- lm(y ~ x, data = dat)
将模型输出和观察到的 x
组合成一个绘图对象
res <- stack(data.frame(Observed = dat$y, Predicted = fitted(mod)))
res <- cbind(res, x = rep(dat$x, 2))
head(res)
加载晶格和绘图
require("lattice")
xyplot(values ~ x, data = res, group = ind, auto.key = TRUE)
结果图应该与此类似
要获得观测数据的回归线,并且回归模型是一个简单的直线模型(如我所示),那么您可以绕过其中的大部分内容并仅使用绘图
xyplot(y ~ x, data = dat, type = c("p","r"), col.line = "red")
(即您甚至不需要拟合模型或为绘图创建新数据)
结果图应如下所示
第一个示例的替代方法是编写您自己的面板函数,它可以与任何可以给出回归线系数的东西一起使用 - 并不像看起来那么可怕
xyplot(y ~ x, data = dat, col.line = "red",
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.abline(coef = coef(mod), ...) ## using mod from earlier
}
)
这给出了上面图 2 中的图,但是是手工绘制的。
假设您已经使用插入符完成了此操作,那么
mod <- train(y ~ x, data = dat, method = "lm",
trControl = trainControl(method = "cv"))
xyplot(y ~ x, data = dat, col.line = "red",
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.abline(coef = coef(mod$finalModel), ...) ## using mod from caret
}
)
将生成与上面图 2 相同的图。
关于r - 使用lattice包中的xyplot()绘制线性回归的观测值和拟合值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17432142/
1、起因 最近在开发Lattice的一款低功耗FPGA时,遇到了reg初始化复位问题,经过在网上搜寻相关资料整理如下; 2、FPGA中reg的初始化方式 在定义时初始化,例如: reg r_
这个问题已经有答案了: How to rotate the x-axis labels 90 degrees in levelplot (1 个回答) 已关闭 8 年前。 在内置 R 绘图功能的情况下
我有两个问题很难解决。首先,当我使用 lattice xyplot 绘制多列矩阵图时,我发现所有的点都是相连的。如何获得单独的断开连接的线路? x<-cbind(rnorm(10),rnorm(10)
我正在尝试使用以下数据更改 xyplot 中 lattice 使用的字符类型 > rate Temp Rep Ind Week Weight Rate 1 9 1 B
我在 python (2d) 中有一些 Ising 模型的代码,晶格不会达到平衡。在这里,代码打印出每次 Monte Carlo 扫描翻转的自旋数,并且每次扫描都翻转相同的数字。如果我是正确的,那么随
我有一个邮政编码的计数,这是很多要绘制的多边形(准确地说是 30,357)。因此,当我 pdf spplot我所看到的只是边界而不是 choropleth 内部。 因此,我想关闭绘制边界,或者至少能够
为什么Lattice Diamond在编译新项目时显示错误9? 错误输出为: Details: CCU2B: 40 FD1P3AX: 30 FD1P3AY:
当我使用barchart()时我得到这样的东西(我知道图像不是条形图,但我的 auto.key 产生相同的图例): 我想填充这些点并使它们变大或将它们设置为具有相应颜色的矩形。 当我使用density
我正在尝试使用将符号叠加在每个组的第一个值上的组和面板来创建线图。此尝试仅绘制第一组的第一个点,对其他两组不执行任何操作。 library(lattice) foo 0, foo, groups=c
这个问题在这里已经有了答案: Reshaping data.frame from wide to long format (8 个答案) 关闭 8 年前。 我在表中有一堆数据(从 csv 导入),格
我想像这样绘制几条分位数回归线(quantreg 包): library(quantreg) data(engel) attach(engel) plot(income, foodexp, c
我使用 lattice 包在 R 中绘制了一个变量的水平图。该网格对应于南亚。我只对查看南亚某些国家/地区的此变量(气溶胶光学深度)的值感兴趣。我有一个虚拟变量,它为我感兴趣的国家取值 1,否则为 0
我想使用点阵包生成一个等高线图,其中 y 轴从顶部开始到底部(即顶部的最小值,底部的最大值)。 如果我更改以下内容: contourplot(Male ~ Age * Year, data=this.
我可以毫无问题地做到这一点: boxplot(coef ~ habitat, data = res) abline(h = 0, col = "green") 但是当我使用 lattice 时,水平线
我想更改轴标签按面板交替的默认 xyplot 设置。 xyplot(yield~N | P+K, data=npk) 我意识到这是有意避免相邻面板上的轴极值重叠,但对于如上所示的分类 x 轴标签,没有
我正在使用 Hmisc (panel.bpplot) 中的 box-percentile 面板函数和 bwplot 在 R 中绘制 box-percentile 图来自 格子。 我有一个数值向量 (L
我正在开发一个通过 curl 和 RApache 调用 R 的 PHP 网络应用程序。大多数事情都很好。但是一个格子图会抛出这个错误: RApache Warning/Error!!!Error in
例如: mytheme <- trellis.par.get() mytheme$strip.border$col = 'grey80' mytheme$strip.background$col =
以下是我处理的示例。 require(lattice) data(barley) xyplot(yield ~ year | site, data = barley) 我想为不同的小条设置不同的 st
警告...非常新手的问题如下: 我试图绘制数千个(X,Y)点的相当规则的分布,每个点与一个值相关联,我们称之为Z,它在-20到+20之间非常不规则地变化。我对平滑不感兴趣;我希望 Z 点值根据平滑变化
我是一名优秀的程序员,十分优秀!