如何使用彩色置信区间带绘制回归原始比例的回归图?

2024-02-04

我想从线性模型中绘制线条和 95% 置信区间,其中响应已按数据的原始比例进行 Logit 转换。因此,结果应该是一条曲线,包括原始尺度上的置信区间,而在 Logit 变换尺度上它将是一条直线。参见代码:

# Data
dat <- data.frame(c(45,75,14,45,45,55,65,15,3,85),
                  c(.37, .45, .24, .16, .46, .89, .16, .24, .23, .49))
colnames(dat) <- c("age", "bil.")               


# Logit transformation
dat$bb_logit <- log(dat$bil./(1-dat$bil.))

# Model
modelbb <- lm(bb_logit ~ age + I(age^2), data=dat)
summary(modelbb)

# Backtranform
dat$bb_back <- exp(predict.lm(modelbb))/ (1 + exp(predict.lm(modelbb)))

# Plot
plot(dat$age, dat$bb_back)
abline(modelbb)

我在这里尝试的是绘制曲线回归线并添加置信区间。之内ggplot2geom_smooth可以指定线性模型的函​​数,但我找不到绘制预测的方法predict.lm(my model).

我还想知道如何添加代表置信区间的彩色多边形,如下图所示。我知道我必须使用函数polygon和坐标,但我不知道如何。


您可以使用predict在某个年龄段说1:100, 指定interval=CI 的选项。绘图用type="l"会平滑一个漂亮的曲线。然后可以使用以下方法添加置信区间lines.

p <- predict(modelbb, data.frame(age=1:100), interval="confidence")
# Backtransform
p.tr <- exp(p) / (1 + exp(p))

plot(1:100, p.tr[,1], type="l", ylim=range(p.tr), xlab="age", ylab="bil.")
sapply(2:3, function(i) lines(1:100, p.tr[,i], lty=2))
legend("topleft", legend=c("fit", "95%-CI"), lty=1:2)

Yields


Edit

要获得阴影置信带,请使用polygon。由于您想要两个置信水平,因此您可能需要制定一个predict每个离子。该线将被覆盖polygons,所以最好做一个空的plot第一次使用type="n"并画出lines在最后。 (请注意,我还将向您展示一些自定义轴标签的提示。)polygons是使用来回表达值rev.

p.95 <- predict(modelbb, data.frame(age=1:100), interval="confidence", level=.95)
p.99 <- predict(modelbb, data.frame(age=1:100), interval="confidence", level=.99)
# Backtransform
p.95.tr <- exp(p.95) / (1 + exp(p.95))
p.99.tr <- exp(p.99) / (1 + exp(p.99))

plot(1:100, p.99.tr[,1], type="n", ylim=range(p.99.tr), xlab="Age", ylab="",
     main="", yaxt="n")
mtext("Tree biomass production", 3, .5)
mtext("a", 2, 2, at=1.17, xpd=TRUE, las=2, cex=3)
axis(2, (1:5)*.2, labels=FALSE)
mtext((1:5)*2, 2, 1, at=(1:5)*.2, las=2)
mtext(bquote(Production ~(kg~m^-2~year^-1)), 2, 2)
# CIs
polygon(c(1:100, 100:1), c(p.99.tr[,2], rev(p.99.tr[,3])), col=rgb(.5, 1, .2),
        border=NA)
polygon(c(1:100, 100:1), c(p.95.tr[,2], rev(p.95.tr[,3])), col=rgb(0, .8, .5),
        border=NA)
# fit
lines(1:100, p.99.tr[,1], ylim=range(p.99.tr), lwd=2)
#legend
legend("topleft", legend=c("fit", "99%-CI", "95%-CI"), lty=c(1, NA, NA), lwd=2,
       pch=c(NA, 15, 15), bty="n",
       col=c("#000000", rgb(.5, 1, .2), rgb(0, .8, .5)))

Yields

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

如何使用彩色置信区间带绘制回归原始比例的回归图? 的相关文章

  • R 中的自定义对比:对比系数矩阵或对比矩阵/编码方案?以及如何到达那里?

    自定义对比在分析中应用非常广泛 例如 这个三水平因子的第 1 级和第 3 级的 DV 值是否有显着差异 直观上 这种对比用单元均值表示为 c 1 0 1 这些对比中的一个或多个 以列的形式绑定 形成对比系数矩阵 例如 mat matrix
  • 在 data.table 中进行浅复制

    我在一个 SO 主题中读到 Matt Dowle 关于一个问题的回答shallow函数进行浅拷贝data table 然而 我再也找不到话题了 data table没有任何调用的导出函数shallow 有一个内部的 但没有记录 我可以安全地
  • 无法使用 RODBC 附加到具有自动编号列的表

    我正在尝试使用 RODBC 将新行插入到 Microsoft Access 数据库中的表中 问题是主键列是一个自动编号 它似乎不允许我省略此列 我正在使用带有append TRUE 的sqlSave 函数和带有单行的数据框 我已经尝试过以下
  • NullPointerException - Drawable.setBounds - 可能是由于片段转换

    我收到以下错误 但不知道为什么 此错误非常罕见 对我来说无法重现 java lang NullPointerException Attempt to invoke virtual method void android graphics d
  • 闪亮错误:参数暗示行数不同

    我正在尝试开发一个简单的应用程序 从 Kijiji 网站获取本地分类广告 我用几乎相同的脚本制作了一个类似的应用程序 但我没有收到下面描述的错误 所以我不知道这个脚本出了什么问题 我尝试了我能想到的一切 但无法让它发挥作用 的结构df数据框
  • 我们可以使用什么方法来重塑非常大的数据集?

    当由于非常大的数据计算将花费很长时间并且因此我们不希望它们崩溃时 事先知道要使用哪种重塑方法是很有价值的 Lately methods for reshaping data have been further developed regar
  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • 如何获得 STAN 中最大似然估计的标准误差?

    我在 Stan 中使用最大似然优化 但不幸的是optimizing 函数不报告标准错误 gt MLb4c lt optimizing get stanmodel fitb4c data win data init inits STAN OP
  • 使用 R Shiny 从 XLConnect 下载 Excel 文件

    有没有人尝试过使用 R Shiny 中的下载处理程序通过 XLConnect 下载新创建的 Excel 文件 在 ui R 中有一行不起眼的行 downloadButton downloadData Download 在 server R
  • 从 R 中的向量中选择所有可能的元组

    我正在尝试用 R 编写一个程序 当给定一个向量时 将返回所有可能的tuples http en wikipedia org wiki Tuples该向量中的元素 例如 元组 c a b c c a b c 出租车 c a c c b c c
  • 基于服务器中的条件逻辑呈现闪亮的用户输入

    我正在尝试设置一个闪亮的导航栏面板页面 其中用户控制我根据一组单选按钮中所做的初始选择来显示更改 我直接在 ui 中渲染单选按钮 然后在 Server r 中的 观察到的 逻辑控制结构内构建条件控件 弹出错误是因为我的初始 if 语句计算结
  • 绘制到图像对象

    我可以保存一个图imshow 因为它返回一个图像对象 如下所示 image plt imshow list interpolation None 后来我想创建其中许多图像的动画 将其保存在列表中并将其渲染为视频 如果这种方法很愚蠢 请告诉我
  • 如何在for循环中引用变量?

    我正在循环访问不同的 data tables 和 data table 中的变量 但我在引用内部变量时遇到问题for loop dt1 lt data table a1 c 1 2 3 a2 c 4 5 2 dt2 lt data tabl
  • 使用 broom 和 tidyverse 总结 r 平方游戏

    我发布了一个问题here https stackoverflow com questions 48627287 getting adjusted r squared value for each line in a geom smooth
  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 如何使用 R 计算成为列表中中位数的概率?

    假设我有以下数据集 其中显示了假设实验的每个状态的三个观察结果的列表 state lt c Iowa Minnesota Illinois outcome lt list c 5 11 11 c 3 12 8 c 9 14 2 dat lt
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这

随机推荐

  • 获取当前正在执行的线程的TThread对象?

    我想要一个像 GetCurrentThread 这样的函数 它返回当前执行线程的 TThread 对象 我知道有一个 Win32 API 调用 GetCurrentThread 但它返回线程 Id 如果有可能从该 ID 获取 TThread
  • Python错误:NameError:名称未定义[重复]

    这个问题在这里已经有答案了 import numpy as np from scipy import optimize as opt import time def grad d weight 0 0 learnrate 0 01 tol
  • 未启用延迟段创建功能 (ORA-00439)

    I have sql包含 60 多个表的 DDL 的脚本文件 我正在尝试将脚本复制粘贴到 SQL Developer 中 连接到数据库 Oracle Database 11g Express Edition Release 11 2 0 2
  • zurb 基金会中心网格中的内容

    我试图将图像水平居中到 zurb 列中 但这似乎不可能 我尝试了一切 到处搜索 但我无法让它工作 这是我的代码 div class row div class twelve columns br img src img 06 jpeg al
  • 如何删除 Rabbitmq 以便我可以重新安装

    我遇到了麻烦 所以我进入注册表并删除了rabbitmq的服务条目 现在 当我尝试重新安装时 它说它已经存在 但无法启动 因为我删除了它 我可以执行以下操作sc delete rabbitmq 如何完全删除它的所有痕迹并从头开始重新安装 我猜
  • 我想扩展 std::string,但不是出于您可能认为的原因

    我有一个有效地接受字符串的方法 但是 我想要使用的字符串子集非常有限 我正在考虑将 std string 作为某个类进行 typedef ing 并显式调用函数 不过 我不确定这是否有效 有想法吗 通常的规则仍然适用 该类不是设计为继承的
  • 检查 iOS 应用程序上的互联网连接,Cordova Phonegap 3.3.0 无法正常工作

    我尝试过以下this http cordova apache org docs en 3 3 0 cordova connection connection md html The 20Command Line 0AInterfaceCor
  • ASP.Net MVC 基于安全性隐藏/显示菜单项

    我正在开发一个 ASP Net MVC 3 网站 Layout 主视图包含一个菜单 我想根据您是否登录以及您所处的角色隐藏菜单中的一些项目 目前使用这样的代码可以工作 if HttpContext Current User Identity
  • MySQL默认值错误与ON DUPLICATE KEY UPDATE

    为什么我会收到此错误 MySQL 版本是否发生了某些变化 导致此操作 曾一度有效 现在失败 INSERT INTO 未指定 user id 值would如果插入已完成 则需要 但由于 id 1 已经存在 因此这应该成为更新并且有效 mysq
  • MassTransit - 等待所有活动完成然后继续处理

    如果我有很多活动 是否会导致资源阻塞或请求超时 这是我的场景 我有一个 api 控制器 它向消费者发送订单请求 我使用请求 响应模式来接收错误信息来自消费者的属性并基于该属性响应返回 如果它为空我想返回OK 否则 返回BadRequest
  • 为 MySql 中的视图生成唯一的长 ID

    我可以看到三张桌子 它有 6 列 如下所示 ID NAME PRINCIPAL ID DESCRIPTION GROUP ID TYPE 正如我正在使用的hibernate要从数据库检索数据 我必须将ID此视图中的列 问题是 我无法生成唯一
  • 有没有办法通过联合访问各个位?

    我正在写一个C程序 我想要一个可以作为字符访问的变量 但我也可以访问其特定位 我想我可以使用这样的工会 typedef union unsigned char status bit bits 8 DeviceStatus 但编译器不喜欢这样
  • Android 警报对话框中可以有垂直按钮吗?

    默认情况下 我们会在警报对话框中看到两个或三个水平对齐的按钮 是否可以让它们在警报对话框中垂直对齐 当然 你可以使用Dialog setContentView 将对话框的内容设置为任意布局 Dialog dialog new Dialog
  • 如何显示Windows 7风格的上下文菜单?

    在我的 NET 应用程序中 上下文菜单与左侧类似 我怎样才能将 Windows 7 风格应用到它们上 使它们看起来像正确的样式 右键单击工具箱 选择项目 勾选 ContextMenu 命名空间 System Windows Forms 且目
  • 改变布局的 Javascript/jQuery focusout 事件导致 click 事件不触发

    我有一个字段 当您将焦点放在它上时 它会更改页面的布局 我的页面上还有提交表单的按钮 如果我进入字段并输入一个值 然后单击按钮 则按钮单击事件永远不会触发 这似乎是因为布局正在改变而发生的before单击事件被触发 这意味着按钮改变了位置
  • MSVC-10 包含路径

    如何指定 MSVC 搜索包含文件的位置 我想将增强标头添加到搜索路径中 我没有使用 Visual Studio 项目 只是使用编译器 您需要将它们编辑到 INCLUDE 环境变量中 您可以通过系统属性属性页找到它 例如 仅限 Windows
  • perlbrew 失败并显示“无法找到 Devel/PatchPerl.pm”

    perlbrew失败了Can t locate Devel PatchPerl pm 更准确地说 失败的是运行patchperl这是由产生的perlbrew There is事实上Devel PatchPerl pm通过环境变量中的路径访问
  • 如何在Android Studio中从默认的ConstraintLayout切换到RelativeLayout

    我有最新的 android Studio 2 3 beta 3 似乎 ConstraintLayout 是创建项目时的默认设置 如何让 Android Studio 使用relativelayout作为新项目的默认布局元素 嗯 我看到了上面
  • ActiveMQ 中的只读 Web 控制台访问

    我正在使用 ActiveMQ 5 10 并且想创建一个通过 Web 控制台具有只读访问权限的用户 红帽发布本文 https access redhat com solutions 389323 提到由于 ActiveMQ 中的错误 它并不是
  • 如何使用彩色置信区间带绘制回归原始比例的回归图?

    我想从线性模型中绘制线条和 95 置信区间 其中响应已按数据的原始比例进行 Logit 转换 因此 结果应该是一条曲线 包括原始尺度上的置信区间 而在 Logit 变换尺度上它将是一条直线 参见代码 Data dat lt data fra