如何从 R 中拟合线性 b 样条回归中提取基础系数?

2024-01-17

以下面的一结、一级样条为例:

library(splines)
library(ISLR)

age.grid    = seq(range(Wage$age)[1], range(Wage$age)[2])
fit.spline  = lm(wage~bs(age, knots=c(30), degree=1), data=Wage)
pred.spline = predict(fit.spline, newdata=list(age=age.grid), se=T)

plot(Wage$age, Wage$wage, col="gray")
lines(age.grid, pred.spline$fit, col="red")

# NOTE: This is **NOT** the same as fitting two piece-wise linear models becase
# the spline will add the contraint that the function is continuous at age=30
# fit.1  = lm(wage~age, data=subset(Wage,age<30))
# fit.2  = lm(wage~age, data=subset(Wage,age>=30))

有没有办法提取结之前和之后的线性模型(及其系数)?即如何提取切点前后的两个线性模型age=30?

Using summary(fit.spline)产生系数,但(据我理解)它们对于解释没有意义。


您可以手动提取系数fit.spline像这样

summary(fit.spline)

Call:
lm(formula = wage ~ bs(age, knots = 30, degree = 1), data = Wage)
Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)                         54.19       4.05    13.4   <2e-16 ***
bs(age, knots = 30, degree = 1)1    58.43       4.61    12.7   <2e-16 ***
bs(age, knots = 30, degree = 1)2    68.73       4.54    15.1   <2e-16 ***
---

range(Wage$age)
## [1] 18 80
## coefficients of the first model
a1 <- seq(18, 30, length.out = 10)
b1 <- seq(54.19, 58.43+54.19, length.out = 10)
## coefficients of the second model
a2 <- seq(30, 80, length.out = 10)
b2 <- seq(54.19 + 58.43, 54.19 + 68.73, length.out = 10)
plot(Wage$age, Wage$wage, col="gray", xlim = c(0, 90))
lines(x = a1, y = b1, col = "blue" )
lines(x = a2, y = b2, col = "red")

如果您想要像线性模型一样的斜率系数,那么您可以简单地使用

b1 <- (58.43)/(30 - 18)
b2 <- (68.73 - 58.43)/(80 - 30)

请注意,在fit.spline截距意味着值wage when age = 18而在线性模型中,截距意味着值wage when age = 0.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 R 中拟合线性 b 样条回归中提取基础系数? 的相关文章

  • 如何从 data.frame 中删除列?

    不是 你怎么 但更多的是 你怎么 如果有人给你一个包含 200 列的文件 并且你想将其减少到分析所需的少数列 你会如何做呢 一种解决方案是否比另一种解决方案更有优势 假设我们有一个包含列 col1 col2 到 col200 的数据框 如果
  • 如何对 lm() 中的一系列值进行子集化

    lm 的帮助文件没有涉及子集参数的语法 我不知道如何让它找到最适合我的数据集的一部分的线 这个问题是类似的 但我无法使用它解决我的特定问题 子集参数在 lm 函数中如何工作 https stackoverflow com questions
  • 删除第一次出现某个值后的行

    我有以下 df df lt data frame var1 c 1 2 2 3 4 5 5 6 7 8 9 var2 c a b c d e f g h i j k 我想在达到前 5 var1 后进行过滤 所以结果应该是 var1 var2
  • 使用从变量中选择的列名称逐行索引数据框

    考虑以下数据框 TEST lt structure list Value c NA NA NA NA NA NA NA NA NA NA NA NA Select structure c 2L 1L 3L 2L 2L 1L 1L 2L 1L
  • R 中的卡方拟合优度检验

    我有一个观察值向量 还有一个用模型计算的值向量 actual lt c 1411 439 214 100 62 38 29 64 expected lt c 1425 3 399 5 201 6 116 9 72 2 46 3 30 4 6
  • ggplot 中的条形图,每组有不同数量的条形图

    我的数据集如下所示 DSET lt data frame cbind c rep V1 3 rep V2 3 V3 c rep c X1 X2 X3 2 X1 c rep 1 7 names DSET lt c A B C DSET 3 l
  • 使用格式表过滤数据框

    样本数据 修改自formattablegithub 文档 df lt data frame id 1 10 name c Bob Ashley James David Jenny Hans Leo John Emily Lee age c
  • 基于两列对数据框中的行进行求和[重复]

    这个问题在这里已经有答案了 我想添加一列的值 将它们按两列分组 我找到了如何在一列上执行此操作 但无法弄清楚如何在两列上执行此操作 例如 如果我有以下数据框 x c a a b b c c a a b b c c a a b b c c y
  • 尝试使用 movie3d 制作 3D PCA 图(rgl)的电影

    我已经使用 pca3d 包在 R 中制作了 rgl 3D PCA 图 并且我正在尝试使用 movie3d 制作一个包含旋转图电影的 gif 文件 pca3d 包 makeMoviePCA 中有一个函数 它将其参数传递给 movie3d 这是
  • 如何使用 R 更改 png 文件的大小

    我正在绘制 png 文件并获取一张小图片 你知道一些可以改变 png 图大小的简单代码吗 我的地块太高太 薄 另外有没有办法改变情节的分辨率 谢谢 伊格尔 png png filename Rplot 03d png width 480 h
  • 使用 r 以周为单位对数据进行分组

    I have a CVS file which has data for different countries at different weeks of this year I want to create a summary data
  • ggplot2中的两列分组

    是否可以按两列分组 于是叉积就画出来了 经过geom point and geom smooth 例如 frame lt data frame series lt rep c a b 6 sample lt rep c glass wate
  • 将多个函数应用于一个向量

    我正在寻找一种将多个函数应用于一个向量的选项 我认为这对于逆应用函数来说是一种仁慈 其中一个函数应用于许多向量 或列 有没有办法指定两个或多个函数 例如 min 和 max 并将其应用于向量 与 CathG的评论类似 但没有get v lt
  • 为什么在 R 中绘图时,hovertemplate 无法正确显示某些数据点

    mydat2 lt data frame subject c math english chemistry score c 80 50 65 class c A B A count c 50 60 70 library plotly plo
  • 将一长行带空格的数据导入R中

    这个问题是我上一个问题的后续问题 将一长行数据导入到 R 中 https stackoverflow com questions 8389913 我有一个由单行文本组成的大型数据文件 格式类似于 Cat 14 15 Horse 16 我最终
  • 闪亮的仪表板侧边栏中的可折叠菜单项

    我的侧边栏中有两个菜单项 目前 如果我单击任何菜单项 则会显示所有菜单项的选项卡项 我想让它可折叠 如果我单击多个名称菜单 单个分析应该折叠 如果我单击单个分析 多个分析应该折叠 目前的设计是 相同的可重现代码是 library shiny
  • 使用 xtable 对乳胶输出的表进行排序

    我正在尝试生成一个排序表并导出到乳胶中 然而 xtable 似乎无法处理排序表 建议 a lt sample letters 500 replace T b lt table a c lt sort table a decreasing T
  • 如何在 R 中创建纯 ascii 表作为输出,类似于 MySQL 风格?

    我正在尝试为 R 找到一个输出的函数data frameMySQL 风格的 ascii 表中的对象如下 id var1 var2 1 asdf g 2 asdf h 3 asdf j 有这样的功能吗 至少有两个工具可以做到这一点 csvfi
  • R:igraph、社区检测、edge. Betweenness 方法、统计/列出每个社区的成员?

    我有一个相对较大的图表 其中顶点 524 边 1125 是现实世界的交易 边是有向的并且具有权重 包含是可选的 我正在尝试调查图中的各个社区 并且本质上需要一种方法 计算所有可能的社区 计算最佳社区数量 返回每个 最佳 社区的成员 成员数量
  • 如何使用 Rrank() 函数创建新的ties.method? [复制]

    这个问题在这里已经有答案了 我试图按人口和日期排序这个数据框 所以我使用order and rank 功能 gt df lt data frame idgeoville c 5 8 4 3 4 5 8 8 date c rep 1950 4

随机推荐

  • 使用 Travis CI 将 Maven 版本部署到 Github

    我成功地使用标签将 JAR 从 Maven 项目部署到了 Github 但是 当前配置假设 JAR 的文件名始终保持不变 但事实并非如此 当我发布新版本时 这将相应更改 因此部署将失败 有没有办法在 YAML 文件中使用通配符 根据我在 S
  • 使用 PouchDB 过滤设计文档

    我正在使用设计文档来确保只有所有者才能修改文档 如何防止 couchdb 复制此设计文档 您可以使用过滤选项 http pouchdb com api html replication in changes and replicate e
  • ZF2:Zend Framework 2 完整 URL(包括主机名)

    在我看来 我需要绘制完整的 URL 像这样 http hostename com default url 当我尝试使用时 this gt url default array 1 2 3 我只得到 index get 有没有任何 Zend 方
  • Carrierwave - 如果文件类型不在白名单上,则触发存在验证

    在我的 Rails 4 应用程序中 我使用 Carrierwave 上传图像 class UserItemImage lt ActiveRecord Base include PicturesHelper attr accessor foo
  • 占位符张量需要机器学习引擎预测中的值,但不需要本地预测

    我一直在开发一个与云 ML 引擎的在线预测服务一起使用的模型 我的模型包含一个placeholder with default我用它来保存预测显着性阈值的张量 threshold tf placeholder with default 0
  • Backbone.js:更改未在 model.change() 上触发

    我在 Backbone js 上面临 更改事件未触发 问题 这是我对用户模型的看法 window UserView Backbone View extend initialize function this model on destroy
  • 使用 dask 加载大型数据集

    我处于具有集群 紧密耦合互连和支持 Lustre 文件系统的 HPC 环境中 我们一直在探索如何利用 Dask 不仅提供计算 而且充当分布式缓存来加速我们的工作流程 我们专有的数据格式是 n 维且规则的 并且我们编写了一个惰性读取器以传递到
  • 如何从 DRF 的标题选项中删除“LOCATION”?

    我有一个序列化器 其中包含URL字段 默认情况下 如果有一个字段名为URL然后该字段的值作为 LOCATION 添加到 HEADER 选项中 我不想这样做 并且想删除LOCATION标题中的选项 这是我的序列化器 class DemoSer
  • Rails 根据两个字段查找或创建

    我有一个场地模型 我想这样做 Venue find or create by 但我只想在同名和日期不存在的情况下创建一个新场地 例如 gt Venue id integer location string showdate datetime
  • fill_ Between() 不起作用

    I have this tiny problem with a chart I am working on I d like to fill the area between 2 semi vertical lines as shown b
  • 从 OpenCV + Python 获取 HOG 图像特征?

    我读过这篇关于如何使用 OpenCV 基于 HOG 的行人检测器的文章 如何使用 OpenCV 检测和跟踪人员 https stackoverflow com questions 2188646 how can i detect and t
  • 如何删除前导“0”。在数值 R 变量中

    如何简洁地更改数字 R 变量 保持其数字 以便例如 0 34 变成简单的 34 仅当输出数值时 才必须选择具体的表示形式 即数字的格式 您不能将数值变量从 0 34 更改为 34 两者都是同一数字的表示 但是 当您输出表达式时e 您可以选择
  • 'git reset --soft' 是一个无操作命令吗?

    The 文档 http linux die net man 1 git reset指出利用 soft option 根本不触及索引文件或工作树 但要求它们处于良好的顺序 这使得所有更改的文件 要提交的更改 正如 git status 所说的
  • NoSuchFieldError 实例位于 org.apache.http.impl.io.DefaultHttpRequestWriterFactory

    java version 1 7 0 71 Gradle 2 1 Hello UPDATE 依赖关系 gradle dependencies grep httpcore org apache httpcomponents httpcore
  • 如果应用程序未至少启动一次,广播接收器将无法在 ICS 中工作

    这个问题在堆栈溢出中被问过几次 但还没有解决方案 我有一个广播接收器 用于接收 USB 连接操作 广播接收器的责任是 如果我得到意图启动我的应用程序 在清单文件中 我添加了接收器 我在 GingerBread 中也有同样的逻辑 但 ICS
  • 暂停 UIImageview 动画

    我想暂停UIImageView animation根据我的研究发现 您可以停止图像的动画 但无法暂停序列 通过调用语句stop animating on the UIImageView然后它停止动画并清空图像视图 要暂停 UIImages
  • 片段实例化崩溃

    我的一些用户遇到了崩溃 这是 Google Play 开发者控制台上的崩溃报告中显示的错误 Unable to start activity ComponentInfo com havens1515 autorespond com have
  • 表面网格到体积网格

    我有一个使用 Meshlab 从点云生成的封闭表面网格 我需要为此获得一个体积网格 这样它就不是一个空心物体 我想不通 我需要获取 stl 文件进行打印 谁能帮我获得体积网格 我更喜欢简单的解决方案而不是复杂的算法 给定一个定向的水密表面网
  • GKE Ingress-GCE 是否支持压缩?

    我的后端在 Rocket Rust 中没有内置压缩功能 因此 它依赖于代理来压缩它 虽然 nginx 入口控制器支持它 但我想默认的入口控制器是否也有它 因为它具有高可用性 如果没有的话应该如何设置呢 更新 2018 01 31 它看起来像
  • 如何从 R 中拟合线性 b 样条回归中提取基础系数?

    以下面的一结 一级样条为例 library splines library ISLR age grid seq range Wage age 1 range Wage age 2 fit spline lm wage bs age knot