r - 如何提取R中回归曲线的值?
问题描述
如何提取R中回归曲线的x值和y值?
生成一些示例数据并在数据框中组合:
x <- c(54, 54, 54, 54, 54, 54, 54, 72, 72, 72, 90, 90, 90, 90, 90, 90, 90, 90, 90, 72, 72, 72, 72, 72, 54, 54, 54, 54, 54, 54, 54, 72, 90, 90, 90, 90, 90, 90, 90, 90, 108, 126, 144, 144, 144, 144)
y <- c(15, 15, 15, 7.50, 7.50, 7.50, 25, 15, 15, 7.50, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 15, 0, 25, 15, 7.50, 7.50, 0, 7.50, 7.50, 7.50, 7.50, 7.50, 0, 3, 3, 3, 3, 15, 3, 15, 3, 3, 7.50)
df_xy <- as.data.frame(cbind(x, y))
df_xy
可视化数据:
plot(df_xy[,2], df_xy[,1])
回归分析(来自这里的代码)
生成训练和测试数据:
library(tidyverse)
library(caret)
set.seed(123)
training.samples <- df_xy[,1] %>%
createDataPartition(p = 0.8, list = FALSE)
train.data <- df_xy[training.samples, ]
test.data <- df_xy[-training.samples, ]
应用样条回归:
library(splines)
knots <- quantile(train.data$y, p = c(0.25, 0.5, 0.75))
model <- lm (x ~ bs(y, knots = knots), data = train.data)
可视化:
ggplot(train.data, aes(y, x) ) +
geom_point() +
stat_smooth(method = lm, formula = y ~ splines::bs(x, df =3))
有没有办法提取该曲线(蓝线)的 x 值和相应的 y 值?此外,是否有一个基本 R 选项来可视化样条回归?
除了问题:
此显示中显示了哪些不确定性/误差条?以及如何在相应的代码中指定?
如何提取不确定带(灰色区域)的 x 值和各自的 y 值?
解决方案
如果将绘图另存为gg1
,则
ggplot_build(gg1)$data[[2]][,c("x","y")]
将为您提供曲线的 x 和 y 坐标。
推荐阅读
- java - 实现方法中的接口错误中的泛型类型
- python - 在 For 中录制时出错(当我迭代时)
- macos - 如何使用 C++ 在 Mac 上使用 wxWidgets 制作状态栏图标?
- c++ - 向下转换和向上转换是如何进行的?以及如何比较类型?RTTI 通常是如何存储的?
- html - Heroku应用程序崩溃无法获取路径
- html - 为什么“隐藏”和“循环”属性不做任何事情?
- php - 如何通过 WooCommerce 结帐时的复选框添加多个产品(ajax)
- spring - 无法从 Spring Boot 中按 CosmosDB 中的 id 删除
- php - POST PHP 变量未使用 PDFcrowd 打印在 pdf 上
- python-3.x - 如何修复打开的 csv 错误:带基数的 int() 的无效文字