指定回归线截距(R & ggplot2)

2024-04-22

背景

我当前的情节如下所示:

PROBLEM

我想强制 station_1 的回归线从 1 开始。

CODE

 library(ggplot2)

 #READ IN DATA
 var_x = c(2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011)
 var_y = c(1.000000,1.041355,1.053106,1.085738,1.126375,1.149899,1.210831,1.249480,1.286305,1.367923,1.486978,1.000000,0.9849343,0.9826141,0.9676000,0.9382975,0.9037476,0.8757748,0.8607960,0.8573634,0.8536138,0.8258877)
 var_z = c('Station_1','Station_1','Station_1','Station_1','Station_1','Station_1','Station_1','Station_1','Station_1','Station_1','Station_1','Station_2','Station_2','Station_2','Station_2','Station_2','Station_2','Station_2','Station_2','Station_2','Station_2','Station_2')

 df_data = data.frame(var_x,var_y,var_z)

 out = ggplot(df_data,aes(x=var_x,y=var_y,group=var_z))       
 out = out + geom_line(aes(linetype=var_z),size=1)  
 out = out + theme_classic()

 #SELECT DATA FOR Station_1
 PFI_data=subset(df_data,var_z=="Station_1")

 #PLOT REGRESSION FOR Station_1
 out = out+ stat_smooth(data = PFI_data,
                   method=lm,
                   formula = y~x,
                   se=T,size = 1.4,colour = "blue",linetype=1)

任何帮助将不胜感激 - 这让我发疯太久了!


首先,在将回归线强制到某个固定点时应该小心。这是一个link https://stats.stackexchange.com/questions/12484/constrained-linear-regression-through-a-specified-point来讨论为什么。

现在,从技术角度来看,我严重依赖这些问题和答案:one https://stackoverflow.com/questions/7333203/linear-regression-with-explicit-intercept-in-r, two https://stackoverflow.com/questions/9789871/method-to-extract-stat-smooth-line-fit。我的解决方案的概要如下:预先计算所需的截距,在没有它的情况下运行回归,将截距添加到结果预测中。

我正在使用内部ggplot2:::predictdf.default功能可以节省一些打字。这cbind(df, df)部分可能看起来很奇怪,但这是一个简单的技巧geom_smooth工作正常,因为有两个因素水平var_z.

# Previous code should remain intact, replace the rest with this:
# SELECT DATA FOR Station_1
PFI_data=subset(df_data,var_z=="Station_1")
names(PFI_data) <- c("x", "y", "z")

x0 <- df_data[df_data$var_z == "Station_1", "var_x"][1]
y0 <- df_data[df_data$var_z == "Station_1", "var_y"][1]

model <- lm(I(y-y0) ~ I(x-x0) + 0, data = PFI_data)
xrange <- range(PFI_data$x)
xseq <- seq(from=xrange[1], to=xrange[2])
df <- ggplot2:::predictdf.default(model, xseq, se=T, level=0.95)
df <- rbind(df, df)
df[c("y", "ymin", "ymax")] <- df[c("y", "ymin", "ymax")] + y0
out + geom_smooth(aes_auto(df), data=df, stat="identity")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

指定回归线截距(R & ggplot2) 的相关文章

  • 合并具有一个共同元素的集合 R

    我有一个这样的列表 lista list lista 1 c 1 2 4 6 8 9 10 11 12 19 32 34 35 36 37 38 lista 2 c 7 8 lista 3 c 13 14 16 26 27 28 29 30
  • 如何在R中使用OpenNLP获取POS标签?

    这是 R 代码 library NLP library openNLP tagPOS lt function x s lt as String x word token annotator lt Maxent Word Token Anno
  • 选择一个单元格内的最小值或最大值(分隔字符串)

    我有一个数据框 其中每个样本的列可以有多个值 例如 Gene Pvalue1 Pvalue2 Pvalue3 Beta Ace 0 0381 0 00357 0 01755 0 001385 0 0037 NA 0 039 0 03 1 1
  • 根据另一个向量替换向量中的值

    我想替换向量中的值 x 与另一个向量 y 陷阱 22 方法需要是动态的 以适应向量中不同数量的 级别 x 例如 考虑向量x x lt sample c 1 2 3 4 5 100 replace TRUE gt x 1 2 4 1 1 3
  • 使用 RMySQL 会干扰 RPostgreSQL

    我有一个 R 脚本 我想从 MySQL 数据库中提取一些数据 然后从 PostgreSQL 数据库中提取一些数据 但是 从 RMySQL 加载 MySQL 驱动程序会阻止我从以下位置加载 PostgreSQL 驱动程序 PostgreSQL
  • R:为什么 kable 不在 for 循环内打印?

    我正在使用 rmarkdown 和 Latex 编写报告 我需要使用打印一组表格knitr kable 但在 for 循环内时不会打印 这是我的代码 title project title author Mr Author date 201
  • 列槽不足

    当尝试为 data table 中的每个变量 108 个变量 创建 12 个滞后时 我收到一条错误 指出列槽不足 此操作应创建大约 1200 个变量或列 Data A as data table Datos A Varnames names
  • 计算 R 中数据帧的每一行中特定值的连续出现次数

    我有一个data frame许多位置 这么多行 的变量的每月值 我想计算值为零的连续月份 即连续单元格 的数量 如果只是从左到右阅读 这很容易 但增加的复杂性是年底与年初是连续的 例如 在下面的缩短示例数据集中 用季节而不是月份 位置 1
  • 了解用于处理色边距的scale_fill_continuous_divergingx参数输入

    这个问题是我上一个问题的延续here https stackoverflow com questions 58718527 setting midpoint for continuous diverging color scale on a
  • 带有nearPoints()的动态ggplot图层闪亮

    我熟悉闪亮的基础知识 但在这里遇到了一些困难 我希望能够在单击某个点以突出显示该点时添加 ggplot 图层 我知道 ggvis 可以做到这一点 并且画廊中有一个很好的例子 但我希望能够使用nearPoints 捕获点击作为 ui 输入 我
  • R 中的 as.numeric 有什么问题? [复制]

    这个问题在这里已经有答案了 gt X864291X8X74 1 8 0000000000 9 0000000000 10 0000000000 6 0000000000 8 0000000000 10 Levels 0 0000000000
  • 根据不平凡的标准有效合并两个数据帧

    正在接听这个问题 https stackoverflow com questions 18821862 data selection error 18823432 18823432昨晚 我花了一个小时试图找到一个没有增长的解决方案data
  • 在 R 中按组检查重叠开始和结束时间

    我想检查数据的重叠 这是数据 ID lt c rep 1 3 rep 3 5 rep 4 4 rep 5 5 Begin lt c 0 2 5 3 7 8 7 25 25 10 15 17 20 1 NA 10 11 13 End lt c
  • 在单个显示器中绘制多个 jpeg 图像

    我需要在单个组合显示器 或画布 中绘制和显示多个 jpeg 图像 例如 假设我有图像 a b c d jpg 每个图像的大小不同 我想将它们绘制在 2x2 网格的一页上 能够为每个子图设置标题也很好 我一直在彻底寻找解决方案 但不知道如何去
  • R:如何根据规范更改数据框中的列名称

    我有一个数据框 它的开头如下 SM H1455 SM V1456 SM K1457 SM X1461 SM K1462 ENSG00000000419 8 290 270 314 364 240 ENSG00000000457 8 252
  • 使用 R 从字符串中提取函数参数

    最好使用stringr包 我想创建一个函数extract 以字符串向量作为参数 vec lt c div span icon hospital user i18n t Enrolments or i18n t Paper a string
  • 抑制 R 中的错​​误消息

    我正在 R 中运行模拟研究 有时 我的模拟研究会产生错误消息 当我在函数中实现模拟研究时 当出现此错误消息时模拟停止 我知道抑制错误是不好的做法 但此时对我来说 除了抑制错误然后继续下一个模拟 直到达到我喜欢运行的模拟总数为止 没有其他选择
  • 在ggplotly散点图中添加自定义数据标签

    我想显示Species对于每个数据点 当光标位于该点上方而不是 x 和 y 值时 我用iris数据集 另外 我希望能够单击数据点以使标签持久存在 并且当我在图中选择新位置时标签不会消失 如果可能的话 最基本的是标签 持久性问题是一个优点 这
  • 对于多项式,获取其所有极值并通过突出显示所有单调部分来绘制它

    有人问我这个有趣的问题 我认为值得将其发布在这里 因为 Stack Overflow 上还没有任何相关线程 假设我有长度为的多项式系数n vector pc 其中次数多项式n 1对于变量x可以以其原始形式表示 pc 1 pc 2 x pc
  • 编写健壮的 R 代码:命名空间、屏蔽和使用 `::` 运算符

    简洁版本 对于那些不想阅读我的 案例 的人来说 这就是本质 最小化新包破坏现有代码 即编写您编写的代码 的机会的推荐方法是什么尽可能坚固 充分利用该功能的推荐方法是什么 命名空间机制 when a just using贡献的软件包 比如在一

随机推荐

  • 托盘栏中打开多个图标

    我正在开发一个 Windows 应用程序 当我运行该应用程序时 托盘栏上会出现多个图标 当我将鼠标悬停在这些图标上时 它们就会消失 有人知道为什么会发生这种情况吗 protected override void OnClosed Event
  • 在 ASP.NET 身份框架中更改时刷新当前用户的角色?

    使用 VS 2013 标准 MVC 模板和身份提供程序框架 用户已登录 我有 UserManager AddToRole User Identity GetUserId Members Line X RedirectToAction Ind
  • 无法通过 Godaddy 服务器在 ASP.NET 中发送电子邮件

    我有一个托管在 Godaddy 上的 ASP NET 应用程序 我想从中发送电子邮件 当它运行时 我得到 不允许使用邮箱名称 服务器响应是 抱歉 您所在位置的中继被拒绝 代码和Web config的重要部分如下 msg new MailMe
  • 防止 RichTextBox 自动滚动

    我有一个使用 RichTextBox 控件实现的只读数据记录窗口 我希望能够禁用用户单击控件时发生的自动滚动 以便用户可以选择特定日志进行复制 粘贴操作或其他操作 然而 一旦用户单击 RichTextBox 它就会自动滚动到底部 这使得这变
  • 在上下文中绘图时如何翻转坐标?

    我从 UIImage 创建一个上下文 然后使用 CGContextDrawImage bitmapContext CGRectMake 0 0 originalImage size width originalImage size heig
  • 适用于 BlackBerry 的 QR 码阅读器

    是否有 BlackBerry 库 组件 开源或商业 可集成到我自己的应用程序中充当 QR 码阅读器 我想将它完全集成到我的应用程序中 或者 有没有办法使用开源中兴图书馆 http code google com p zxing 与相机结合使
  • UIViewController 的 viewDidAppear 在模式关闭后不会被调用

    UIViewController 视图 A 通过将另一个视图控制器 视图 B 作为模态控件调用来调用它 自我呈现模态视图控制器 视图是动画的 TRUE 视图 B 通过调用而存在 自我解雇ModalViewControllerAnimated
  • 禁用 youtube api 的全屏

    我有一个带有片段的应用程序 在这些片段内我有框架布局 我在其中添加了 YouTubePlayerSupportFragment 但是当我单击全屏时 会引发此异常 java lang RuntimeException 无法启动活动 Compo
  • 使用 Spring 映射嵌套 json 和 POJO

    我正在实现一个 REST API 它使用 json 发送和接收数据 我对这个 API 设计完全陌生 我正在使用 Spring 框架和 requestbody responsebody 进行映射 最初 我有一个这样的 pojo public
  • 通过 ID 从 Firebase 检索 Java 对象

    我正在编写一个 Android 应用程序 我正在尝试检索该类的对象User java按 Firebase 相关表中的 ID 我想知道如何从Java端获取它 只要我尝试了中所述的示例Firebase 官方文档 https www fireba
  • 时间戳转字符串日期

    我不知道如何将时间戳转换为日期 我有 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R lay
  • 实体框架、外键和EntityKey

    我的实体框架和外键有问题 我有一个表 BC Message Assets 其中有 3 个 FK MessageId AssetId 和 StatusId 我像这样创建我的 MessageAsset MessageAsset messageA
  • 如何快速将6字节无符号整数复制到内存区域?

    我需要将 6 字节整数值复制到内存区域中 从其开头开始并尽可能快地复制 如果硬件支持这样的操作 我想使用它 我现在使用的是 x64 处理器 编译器是 GCC 4 6 3 The memset不适合这项工作 因为它只能复制字节 这std fi
  • 无法在 Ubuntu 16.04.2 LTS 上启动 docker(初始化 graphdriver 时出错)

    使用systemctl启动docker时遇到以下错误 Job for docker service failed because the control process exited with error code See systemct
  • 查找给定纬度/经度的位置(邮政编码、城市、州)的最快方法

    我需要一个免费 开源 的解决方案 给定纬度 经度可以返回最近的城市 州或邮政编码 mysql 不是一个选择 如果可能的话 小型轻量级数据库将是最好的 更新 没有网络服务 每天有 5000 万次展示 即使是最小的插件也会造成伤害 因此添加服务
  • 画布图像的图像效果不通过 php 上传保存,但适用于下载同一画布文件

    这是显示该问题的 YouTube 视频 https www youtube com watch v znzLQSYlsKM https www youtube com watch v znzLQSYlsKM 我给出了视频描述中涉及的所有代码
  • AngularJS 从文本创建 html/link/anchor (escape/unescape html in view)

    我有一个具有指定值的控制器 scope post please visit http stackoverflow com quickly 我的 html 中有一些文本 p post p 我想制作一个可点击的网址链接 用锚标记包围它 我尝试将
  • 使用 HTML5sortable 序列化 AJAX 数据

    我正在使用一个简洁的 jQuery 排序插件 HTML5 Sortablehttp farhadi ir projects html5sortable http farhadi ir projects html5sortable 但还没有找
  • OpenGL 将着色器附加到程序

    有没有办法访问附加到程序的着色器 也就是说 给定一个程序 我可以做类似的事情 vertexShader getVertexShaderFromProgram program 我想在验证我的程序的函数中记录着色器编译状态 但我只保留对程序的引
  • 指定回归线截距(R & ggplot2)

    背景 我当前的情节如下所示 PROBLEM 我想强制 station 1 的回归线从 1 开始 CODE library ggplot2 READ IN DATA var x c 2001 2002 2003 2004 2005 2006