如何将回归线添加到具有按因子进行颜色编码的多个数据系列的图中?

2024-03-04

我希望将回归线添加到具有多个按因子进行颜色编码的数据系列的图中。使用brewer.pal 调色板,我创建了一个图,其中数据点按因子 (plant$ID) 着色。下面是代码示例:

palette(brewer.pal(12,"Paired"))
plot(x=plant$TL, y=plant$d15N,  xlab="Total length (mm)", ylab="d15N", col=plant$ID, pch=16)
legend(locator(1), legend=levels(factor(plant$ID)), text.col="black", pch=16, col=c(brewer.pal(12,"Paired")), cex=0.6)

是否有一种简单的方法可以为每个不同的数据系列(因子)向图表添加线性回归线?我还希望根据 plant$ID 因素对线条进行着色?

我可以通过将每个数据系列分别添加到图中,然后使用 abline 函数(如下所示)来实现此目的,但在有多个数据系列的情况下,匹配颜色可能非常耗时。

plot(y=plant$d15N[plant$ID=="Sm"], x=plant$TL[plant$ID=="Sm"], xlab="Total length (mm)", ylab="d15N", col="green", pch=16, xlim=c(50,300), ylim=c(8,15))
points(y=plant$d15N[plant$ID=="Md"], x=plant$TL[plant$ID=="Md"], type="p", pch=16, col="blue")
points(y=plant$d15N[plant$ID=="Lg"], x=plant$TL[plant$ID=="Lg"], type="p", pch=16, col="orange")
abline(lm(plant$d15N[plant$ID=="Sm"]~plant$TL[plant$ID=="Sm"]), col="green")
abline(lm(plant$d15N[plant$ID=="Md"]~plant$TL[plant$ID=="Md"]), col="blue")
abline(lm(plant$d15N[plant$ID=="Lg"]~plant$TL[plant$ID=="Lg"]), col="orange")
legend.text<-c("Sm","Md","Lg")
legend(locator(1), legend=legend.text, col=c("green", "blue", "orange"), pch=16, bty="n", cex=0.7)

一定有更快的方法!任何帮助将不胜感激。


或者你使用ggplot2并让它完成所有艰苦的工作。不幸的是,你的例子是不可重现的,所以我必须自己创建一些:

plant = data.frame(d15N = runif(1000), 
                   TL = runif(1000), 
                   ID = sample(c("Sm","Md","Lg"), size = 1000, replace = TRUE))
plant = within(plant, {
          d15N[ID == "Sm"] = d15N[ID == "Sm"] + 0.5
          d15N[ID == "Lg"] = d15N[ID == "Lg"] - 0.5
  })

> head(plant)
        d15N         TL ID
1  0.6445164 0.14393597 Sm
2  0.2098778 0.62502205 Lg
3 -0.1599300 0.85331376 Lg
4 -0.3173119 0.60537491 Lg
5  0.8197111 0.01176013 Sm
6  1.0374742 0.68668317 Sm

诀窍是使用geom_smooth几何计算lm并绘制它。因为我们使用color = ID, ggplot2知道它需要为每个唯一 ID 执行整个绘图ID.

library(ggplot2)
ggplot(plant, aes(x = TL, y = d15N, color = ID)) + 
   geom_point() + geom_smooth(method = "lm")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将回归线添加到具有按因子进行颜色编码的多个数据系列的图中? 的相关文章

  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • kernlab 中 SVM 训练之外的核矩阵计算

    我正在开发一种新算法 该算法可以生成修改后的核矩阵以用于 SVM 训练 但遇到了一个奇怪的问题 出于测试目的 我比较了使用 kernelMatrix 接口和普通内核接口学习的 SVM 模型 例如 Model with kernelMatri
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • 在 R 格子包中微调点图

    我正在尝试为不同的数据集和不同的算法绘制一堆 ROC 区域 我有三个变量 方案 指定所使用的算法 数据集 是正在测试算法的数据集 以及 Area under ROC 我正在 R 中使用lattice库 命令如下 点图 方案 Area und
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得
  • 如何获得所有大于x且有位置的数字?

    V lt c 1 3 2 4 2 3 1 X lt 3 pos lt V V X pos is 3 3 我需要的是所有 3 个的位置 I need 2 and 6 哪些职位是3 in V Use which pos lt which V 3
  • 为什么 R 更新后 sim_slopes() 中会出现此错误?

    我正在尝试使用 交互 包来创建简单斜率的约翰逊 尼曼图 但是 当尝试运行 sim slopes 函数时 出现以下错误 直到我将R更新到4 2 2 我才没有遇到这个问题 我使用的是 macOS Ventura 13 1 Error class
  • 使用 ggmap 截断密度多边形

    我在使用 R ggmap 绘制密度图时遇到问题 我的数据如下所示 gt head W date lat lon dist 1 2010 01 01 31 942 86 659 292 415 2 2010 01 10 32 970 84 1
  • read_html(url) 和 read_html(content(GET(url), "text")) 之间的区别

    我正在看这个很棒的答案 https stackoverflow com a 58211397 3502164 https stackoverflow com a 58211397 3502164 解决方案的开头包括 library httr
  • R“错误:“}”中出现意外的“}”[重复]

    这个问题在这里已经有答案了 我有一个字符串变量 对于缺少数据的情况 它具有 空值 我想将 空值 重新编码为缺失 而不是说 空值 我正在尝试编写一个循环来删除这些 空值 条目 但我不断收到错误 错误 中出现意外的 for row in dat
  • 条件字体颜色 R Markdown

    我无法找到一种方法来根据变量的值 gt 0 0 或 r setup include FALSE x lt 4 This is an R Markdown document r if x gt 0 textcolor red Markdown
  • 闭包作为数据合并习惯的解决方案

    我正在尝试解决闭包问题 而且我think我发现了一个案例 他们可能会有所帮助 我有以下几部分需要处理 一组正则表达式 旨在清理状态名称 位于函数中 具有州名称 上述函数创建的标准化形式 和州 ID 代码的 data frame 用于链接两者
  • 如何绘制具有显着性水平的箱线图?

    前段时间问了一个关于绘制箱线图的问题Link1 https stackoverflow com questions 14604439 plot multiple boxplot in one graph 我有一些包含 3 个不同组 或标签
  • 如何修复 R 中 Kaplan Meier 图的风险表计算错误

    以下是一个数据帧 其中 6 个参与者中的每一个都有唯一的 record ID 我想绘制一个生存分析图 其中包含感兴趣事件的复发以及在时间间隔 tstart 到 tstop 内 暴露 药物剂量 数值变量 的时间依赖性协变量 每个参与者的最大
  • 在 ifelse() 语句内部和外部运行一行时的不同输出

    我正在尝试运行一个简单的命令 但不知道为什么在内部和外部运行它时输出不同ifelse 功能 函数条件评估为FALSE 所以输出应该完全相同 但是 单独运行时 输出为0 0 1 1 0 1 0 1 NA 根据需要 但是从ifelse 函数 输
  • 麦当劳 omega:R 中的警告

    我正在计算几种不同尺度的欧米茄 并在 R 中使用不同的 omega 函数获取不同比例的不同警告消息 我的问题是如何解释这些警告以及报告检索到的 omega 统计数据是否安全 当我使用 从 alpha 到 omega 内部一致性估计普遍问题的
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • 哪里可以找到 __sync_add_and_fetch_8?

    尝试使用 sync add and fetch 时出现错误 test8 cpp text 0x90e undefined reference to sync add and fetch 8 collect2 ld returned 1 ex
  • 为什么我无法捕获 C# 中的通用异常?

    我正在对代码进行一些单元测试 这些代码可能会根据输入抛出许多异常 所以我尝试了类似下面的代码 针对示例进行了简化 static void Main string args RunTest
  • 在 javascript 中从本地文件系统加载 Tensorflow js 模型

    我已将 keras 模型转换为tensorflow json 格式并将其保存在我的计算机本地 我正在尝试使用以下命令在 javascript 代码中加载该 json 模型 model await tf loadModel web model
  • ASP.NET MVC4 - 将包含字符串的 HTML 显示为原始 HTML

    我有一个从数据库读取的字符串 其中包含我想要输出的 HTML 尽管申请了HttpUtility HtmlDecode 视图始终将字符串呈现为编码的 HTML 即 lt SPAN gt 代替 span 我在用 string test WebU
  • 检查预处理器中整数类型的大小

    如何检查尺寸unsigned在 g 下的预处理器中 sizeof这是不可能的 因为在预处理期间没有定义它 这可能不是最优雅的方法 但您可以利用的一件事是 limits h 中定义的 UINT MAX 那是 如果 UINT MAX 65535
  • 视图不在状态栏下方并且状态栏为黑色

    我将导航栏隐藏在其中一个屏幕上 如果已设置 navigationController navigationBarHidden true 状态栏变黑 此外 该图像并不适合整个屏幕 请参见屏幕截图 如果我评论这一行 导航栏将保留在屏幕上 并且状
  • LINES TERMINATED BY 和 FIELDS TERMINATED BY 的多种可能性 - MySQL

    我正在尝试在我的内容管理系统中创建一个功能 用户可以上传 CSV 文件 然后解析该文件并将数据放入 MySQL 数据库中 为此 我使用文件输入和 SQL 查询 sql LOAD DATA LOCAL INFILE FILES file tm
  • 在 Internet Explorer 中无法加载带有“content: url()”的图像

    我正在开发一个网站 我的网站必须在 Chrome 和 Internet Explorer 9 中运行 我快完成了 只剩下一个问题了 如果我想加载带有 content url 的图像 它在 Chrome 中完美运行 但在 IE9 中不行 有人
  • Backbone.js 获取和设置嵌套对象属性

    我有一个关于 Backbone js 的简单问题get and set功能 1 使用下面的代码 如何直接 获取 或 设置 obj1 myAttribute1 另一个问题 2 在模型中 除了defaults对象 我可以 应该在哪里声明模型的其
  • 如何在 Angular 2/4 中创建通用控件?

    我必须创建一个控件 模板 通用 html 其中有一个下拉菜单 该公共控件将调用我的数据服务并将该下拉列表与数据绑定 我可以创建一个组件并将其 HTML 作为下拉菜单 然后在所有父组件中调用该组件的选择器 但是 我想要的是我需要将密钥传递给这
  • SSRS行组+列组=行号问题

    我带着另一个 SSRS 问题回来了 我正在处理调查数据 我有一个程序可以返回组织对每个问题的答复计数 因此 我的报告被定义为行的组织组和列的答案组 组织的数量和答案都是可变的 这按预期工作 我尝试在组织旁边添加 RowCount 以便可以显
  • 如何确定安装的 Eclipse 是 32 位版本还是 64 位版本?

    如何确定我的 Windows 7 PC 上的特定 Eclipse 实例是 32 位还是 64 位版本 我检查了 关于 屏幕以及可以从那里调用的迷宫般的对话框 但我没有找到任何线索 另外 在Windows资源管理器中右键单击eclipse e
  • 它只是不可能添加操作扩展图标

    我实际上已经尝试了两周来获得一个用于显示操作扩展的图标 但绝对没有任何效果 我过去见过这样的问题iOS 8 操作扩展图标大小 https stackoverflow com questions 25917700 ios 8 action e
  • 无法安装 ruby​​ gems - zlib 错误

    我正在尝试安装一些 Ruby Gems 以便在收到 Twitter 消息时可以使用 Ruby 来通知我 然而 在做了一个gem update system 现在每次我尝试执行以下操作时都会出现 zlib 错误gem install任何东西
  • 为什么我下载文件时我的移动运营商会重新编码?

    我在 Android 中发现了一个非常奇怪的现象 我发现 当下载超过 3g 的图像时 随后计算的 sha1 与服务器上的文件应有的不同 经过进一步调查 我发现图像实际上被缩小了尺寸并重新编码 我的移动运营商 verizon 似乎正在尝试优化
  • String.format 使用 exception.getMessage() 作为格式

    我有一个与 JAVA 中的 String format 有关的问题 我的 HibernateDao 类负责持久化实体 并在发生任何约束违规时抛出异常 该消息包含 s 并将用作上层的格式 因为我应该担心这一层中的类型 因此无法识别我无法持久化
  • 无法使用 Windows 使用 ssh 密钥访问 gitlab 存储库

    我已关注这些说明 https docs gitlab com ee ssh generate an ssh key pair用于使用 ssh keygen 生成密钥对 当我试图找出问题所在时 我实际上生成了 ed25519 和 rsa 密钥
  • CSS 对角线 - 如何适应其父元素?

    我怎样才能使对角线填充并适合一个盒子 只是纯CSS 不使用任何背景图像 div diagonal container border 1px solid 000 width 400px height 400px margin 0 auto t
  • Vim 删除空行

    我可以运行什么命令来删除 Vim 中的空行 g d g将在与正则表达式匹配的行上执行命令 正则表达式是 空行 命令是 d 删除
  • 如何将回归线添加到具有按因子进行颜色编码的多个数据系列的图中?

    我希望将回归线添加到具有多个按因子进行颜色编码的数据系列的图中 使用brewer pal 调色板 我创建了一个图 其中数据点按因子 plant ID 着色 下面是代码示例 palette brewer pal 12 Paired plot