ggplot2:如何绘制正交回归线?

2023-12-09

我已经在两项不同的视觉感知测试中对大量参与者进行了测试——现在,我想看看这两项测试的表现有多大程度的相关性。

为了可视化相关性,我使用 R 绘制了散点图ggplot()我拟合了一条回归线(使用stat_smooth())。然而,由于我的两个x and y变量是性能指标,在拟合回归线时我需要考虑到它们——因此,我不能使用简单的线性回归(使用stat_smooth(method="lm")),而是需要拟合正交回归(或总最小二乘法)。我该怎么做呢?

我知道我可以指定formula in stat_smooth(),但我不知道该使用什么公式。据我了解,没有任何预设方法(lm, glm, gam, loess, rlm) 均适用。


事实证明,您可以从 (x,y) 的主成分分析中提取斜率和截距,如图所示here。这只是稍微简单一点,在基础 R 中运行,并给出与使用相同的结果Deming(...) in MethComp.

# same `x and `y` as @user20650's answer
df  <- data.frame(y, x)
pca <- prcomp(~x+y, df)
slp <- with(pca, rotation[2,1] / rotation[1,1])
int <- with(pca, center[2] - slp*center[1])

ggplot(df, aes(x,y)) + 
  geom_point() + 
  stat_smooth(method=lm, color="green", se=FALSE) +
  geom_abline(slope=slp, intercept=int, color="blue")

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

ggplot2:如何绘制正交回归线? 的相关文章

  • 删除字符串中的转义符,或者“我怎样才能让 \ 不碍事?”

    转义字符在 R 中会带来很多麻烦 前面的问题证明了这一点 更改列中的值 https stackoverflow com questions 10046357 change the values in a column 10046412 10
  • 如何减少 geom_text 重叠

    我的数据集包含超过 500 个对各个运动员在不同地点进行的比赛活动的观察结果 并在足球比赛期间进行记录 下面是我的数据集的示例 其中每个符号都指一个匹配活动 例如 KE踢有效 在 1 分钟时记录Defense Example data df
  • 将逗号类分配给数据框中的多个列

    我有一个data frame有几个数字列我要 就像分配 逗号 类一样 这是需要的 因为我有一个中央数据框 我使用 Openxlsx 包过滤并保存到 Excel 并且需要comma类 以便数据在excel中显示为逗号格式 这是数据框 set
  • 在 R 中绘制逻辑回归的两条曲线

    我正在 R glm 中运行逻辑回归 然后我设法绘制结果 我的代码如下 temperature glm glm Response Temperature data mydata family binomial plot mydata Temp
  • dplyr 将字符串拆分为逗号分隔的列表

    我正在尝试使用 dplyr 将字符串拆分为逗号分隔的字符串 但运气不佳 dat lt data frame key 1 4 labels c a ab abc b 我试图将标签列设置为 c a a b a b c b 我已经尝试了以下所有变
  • 将数字提高到非整数幂时出现奇怪的 NaN [重复]

    这个问题在这里已经有答案了 我执行了以下代码 tau lt 0 25 h lt 0 6 n 1 5 4 5 dnorm qnorm tau 4 qnorm tau 2 qnorm tau 2 1 2 1 5 R 继续生产NaN 然而 R 实
  • ggplot更改图例中的几何顺序[重复]

    这个问题在这里已经有答案了 我有两个堆积面积图 上面画了一条线 在这两种情况下 我的绘图顺序都是这样的 创建ggplot 添加堆叠区域 geom area 更改堆叠区域颜色 添加行 geom line 改变线条颜色 在我的第一张图中 堆叠区
  • 查找嵌套列表中元素的索引?

    我有一个类似的列表 mylist lt list a 1 b list A 1 B 2 c list C 1 D 3 是否有一种 无循环 方法来识别元素的位置 例如如果我想用 5 替换 C 的值 并且在哪里找到元素 C 并不重要 我可以这样
  • 带有用户输入的knitr

    我正在使用 R markdown 并使用 Rstudio 来 Knit 我有以下 R markdown 文件 title Untitled author date output html document r setup include F
  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • 如果“testthat”测试在“R”中失败,则打印自定义诊断信息

    I use a testthat单元测试来检查是否data frame函数返回的结果与我期望它返回的结果相同 如果测试失败 testthat打印一些诊断信息 例如 MyFunction df orig is not identical to
  • 从网络源获取 R 中的数据作为数据框

    我正在尝试使用 RCurl 包将一些空气污染背景数据作为 data frame 直接加载到 R 中 该网站有 3 个下拉框 用于在下载 csv 文件之前选择选项 如下图所示 我试图从下拉框中选择 3 个值 并使用 下载 CSV 按钮将数据作
  • 指定 R 中 hist() 中的 bin 数量?

    我尝试指定垃圾箱的数量hist R为10 如下 gt hist x breaks 10 但垃圾箱的数量并不完全是 10 我尝试了几个其他数量的垃圾箱 结果发生了同样的情况 hist says breaks可以指定 给出直方图单元格数量的单个
  • 分离并重新附加“tools:rstudio”

    又名玩火 以下不起作用 rstd obj lt as environment tools rstudio detach tools rstudio attach rstd obj name tools rstudio 好吧 它似乎有效 但随
  • R-了解 akima::interp 结果中的 NA 值

    我有以下数据框 ref dat k Intensity Slope 1 0 021467214 33 16 2 0 012444759 33 8 3 0 006079156 33 4 4 0 003792025 33 2 5 0 02276
  • 将值替换为其各自列的名称

    我有一个数据框 Code 401k CVS 101A true 231N true FD54 true 99JB 85F4 true 我试图用相应的列名称 例如 401k 替换 true 字符值 这是我想要的输出 Code 401k CVS
  • 如何使用 R 中带引号的字符值内的序列读取 CSV?

    这是一个包含两个字符列的 CSV 文件 key value a 所有字符值都用双引号引起来 并且有一个顺序 在值之一内 转义引号加分隔符 我无法通过 read csv readr 中的 read csv 或 data table 中的 fr
  • 使用 dplyr:group_by 将数据帧分成多个子集?

    有没有办法根据 group by 组使用 dplyr 将一个数据帧拆分为数据帧的子集 mtcars gt group by cyl gear gt codes 非常感谢 好吧 并不是你真的想要 但你可以这样做tidyr 即nearly一样的
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q

随机推荐

  • 在 C# 中使用 Microsoft Graph API 获取所有电子邮件

    我有以下函数来使用 Graph API 获取消息 var client new GraphServiceClient authenticationProvider var messages await client Users use em
  • 找不到中间过滤器的组合

    我正在使用 Visual Studio 制作一个 Windows 窗体应用程序 该应用程序允许您输入照片的名称 然后将该图像保存到网络上的特定位置 当我在笔记本电脑上使用它时 效果非常好 但是 当我尝试在桌面上运行它时 它不起作用 相反 我
  • 定义结构时避免“重新定义 typedef”警告

    我定义了一些相互引用的结构 并在使用它们之前对结构进行类型定义 因此每个结构都 了解 其他结构 如果没有这个 就会出现编译错误 不确定这是否必要或正确 现在 当使用 gcc 编译时 我收到 redefinition of typedef 警
  • Javascript - 将字符串中的所有数字更改为下标

    我有一个输入框 用户在其中输入化学式 我将他们的输入显示在表格中 并在我的 javascript 文件中包含以下代码 document getElementById entered innerHTML userIn 其中 userIn 是输
  • 如何执行逐像素匹配来检查模板数据库中是否存在查询图像[重复]

    这个问题在这里已经有答案了 我正在研究手背静脉识别系统 我已经对图像进行了二值化和预处理 然后对细化的静脉图案进行特征提取 白色像素坐标 如下图 图 1 所示 对 10 个图像重复这些步骤 并将它们的坐标存储在 txt 文件中 现在 假设我
  • 如何使用 sendAsynchronousRequest:queue:completionHandler:

    两部分问题 第一部分 我正在尝试向我的数据库创建异步请求 我目前正在同步进行 但是我想学习这两种方法 以更好地理解正在发生的事情 目前我已经像这样设置了同步调用 IBAction setRequestString NSString stri
  • 在 .NET 中存储数据的方法

    我正在寻找在 NET 中的 Windows 窗体应用程序中存储数据的方法 我想让系统的输入数据持久化 因此当我关闭程序并再次打开它时 会检索数据 除了创建链接数据库之外 还有哪些方法可以实现此目的 我们很高兴地赞赏这些例子 有数十种不同的方
  • 尝试安装 HAXM 时出错 - Intel VT-x 已关闭

    我已经安装了 Android Studio 但在尝试安装 HAXM 时收到此错误 我尝试在BIOS中启用虚拟化 但并没有解决问题 然后我在 Windows 8 1 64 位 中禁用了 Hyper V 重新启动计算机后 没有任何变化 并且由于
  • 融合类型中的 C++ 类

    我希望为一堆 C 类实现 python 包装器 在 pxd 的某个地方我有 cdef cppclass FooImpl1 FooImpl1 int foo cdef cppclass FooImpl2 FooImpl2 int foo 我想
  • 在 EL 表达式中使用多个布尔条件

    我想知道如何在 EL 中组合多个布尔条件 我有以下示例 但它不起作用
  • 使用 JNI 访问我的共享库时出现“未定义的引用”

    我正在尝试构建一个版本Botan 加密算法库 使用 JNI 在 Android 上运行一些本机 C 程序 我已经使用 NDK 工具链 NDK R5b 成功创建了 libbotan so 没有任何错误 但是 当我从 Android 项目 示例
  • Select2 - 搜索通配符匹配项

    我正在使用 Select2 来设计我的选择框并添加功能 我想知道如何使搜索规则更加宽松 目前 如果我在下拉列表中有 新墨西哥 我可以搜索 墨西哥 或 新墨西哥 来匹配选择选项 但如果我输入 墨西哥新 我会得到 找不到结果 有没有办法扩展搜索
  • 使用 Meteor 动态加载每个模板的 JS/CSS

    我理解几个问题 即this 这种性质已经发布 但尚未找到可靠的解决方案 从表面上看 Meteor 目前缺乏动态加载 渲染不同 UI JavaScript 的能力 即uilang 或每个模板的 CSS 文件 在我的应用程序中 我的模板需要特定
  • Visual Studio 2005 和 .Net 框架 1.1

    是否可以使用 Visual Studio 2005 创建和维护 Net Framework 1 1 应用程序 实际上有一个 MSBuild 扩展允许这种情况 它被称为MSBee您可以在 CodePlex 上找到它 MSBuild Extra
  • Java和无符号字节[重复]

    这个问题在这里已经有答案了 我需要使用无符号字节数组 我需要通过网络将某些字符发送到服务器 其中一些字符大于 127 我有下面代码的简化版本来尝试理解这个概念 int i 160 byte j byte i System out print
  • 如何在VB中从数组元素中得出所有可能的总和组合

    如果有一个数组 其中元素为 1 2 3 4 则程序应返回另一个数组 其中包含所有组合的总和 1 2 3 4 3 1 2 4 1 3 5 1 4 5 2 3 6 2 4 7 3 4 6 1 2 3 7 1 2 4 8 1 3 4 9 2 3
  • 无法使用 Oreo android 更改我的应用程序的语言

    EDIT 我使用了区域设置更改的解决方案来更改应用程序的语言 但它在奥利奥中不起作用 它在我的三星 S4 上运行良好 但在我的 S9 上运行不佳 所以我正在像这样进行区域设置更改 public void initAppLanguages C
  • “类型错误:没有编码的字符串参数”,但字符串已编码?

    我正在努力转换现有计划从Python2到Python3 该程序中的方法之一通过远程服务器对用户进行身份验证 它将提示用户输入密码 def handshake self timestamp int time time token md5has
  • 我们可以将电子邮件 ID 作为 Firebase 数据库中的键吗? [复制]

    这个问题在这里已经有答案了 我想创建一个登录系统 当用户登录时 基于 在登录用户的电子邮件 ID 上 我想检索 EID 我想要的 JSON 结构是 email protected EID 0153 S email protected EID
  • ggplot2:如何绘制正交回归线?

    我已经在两项不同的视觉感知测试中对大量参与者进行了测试 现在 我想看看这两项测试的表现有多大程度的相关性 为了可视化相关性 我使用 R 绘制了散点图ggplot 我拟合了一条回归线 使用stat smooth 然而 由于我的两个x and