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

标签 r ggplot2 regression

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

为了可视化相关性,我使用 ggplot() 在 R 中绘制散点图,并拟合回归线(使用 stat_smooth() )。但是,由于我的 xy 变量都是性能度量,因此在拟合回归线时我需要将它们都考虑在内——因此,我不能使用简单的线性回归(使用 stat_smooth(method="lm") ),而是需要拟合正交回归(或总最小二乘法)。我该怎么做呢?

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

最佳答案

事实证明,您可以从 (x,y) 的主成分分析中提取斜率和截距,如 here 所示。这只是简单一点,在基础 R 中运行,并给出与在 Deming(...) 中使用 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")

关于r - ggplot2:如何绘制正交回归线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995923/

相关文章:

r - 减少部分排序

r - 我应该 (git) 忽略我的 knitr 缓存吗?

r - 为时间序列数据中的不同日期添加多个vlan

r - Dunnett 秩检验的成对相关性

python - 使用 Python Pandas 的累积 OLS

regsubsets 正在从因子水平生成虚拟变量 - 我们可以让它不这样做吗?

rshiny-将所有文件从shinyDirChoose文件夹上传到服务器

r - 使用 Arima 模型预测不在序列结束之前的时期的值

r - 使用 'stat_compare_means' 函数时出现 'facet_wrap' 问题

python - 处理硬编码路径的回归测试