【发布时间】:2014-03-24 04:07:36
【问题描述】:
我想要一条通过零绘制的二阶(是吗)回归线,关键是我需要这种关系的方程。
这是我的数据:
ecoli_ug_ml A420 rpt
1 0 0.000 1
2 10 0.129 1
3 20 0.257 1
4 30 0.379 1
5 40 0.479 1
6 50 0.579 1
7 60 0.673 1
8 70 0.758 1
9 80 0.838 1
10 90 0.912 1
11 100 0.976 1
12 0 0.000 2
13 10 0.126 2
14 20 0.257 2
15 30 0.382 2
16 40 0.490 2
17 50 0.592 2
18 60 0.684 2
19 70 0.772 2
20 80 0.847 2
21 90 0.917 2
22 100 0.977 2
23 0 0.000 3
24 10 0.125 3
25 20 0.258 3
26 30 0.376 3
27 40 0.488 3
28 50 0.582 3
29 60 0.681 3
30 70 0.768 3
31 80 0.846 3
32 90 0.915 3
33 100 0.977 3
我的情节是这样的:(sci2 只是一些轴和文本格式,必要时可以包含)
ggplot(calib, aes(ecoli_ug_ml, A420)) +
geom_point(shape=calib$rpt) +
stat_smooth(method="lm", formula=y~poly(x - 1,2)) +
scale_x_continuous(expression(paste(italic("E. coli"),~"concentration, " ,mu,g~mL^-1,))) +
scale_y_continuous(expression(paste(Absorbance["420nm"], ~ ", a.u."))) +
sci2
当我看到这个时,这条线与点的拟合非常好。
当我检查 coef 时,我 认为 y 截距不为零(这对我的目的来说是不可接受的)但老实说我并不真正理解这些行:
coef(lm(A420 ~ poly(ecoli_ug_ml, 2, raw=TRUE), data = calib))
(Intercept) poly(ecoli_ug_ml, 2, raw = TRUE)1
-1.979021e-03 1.374789e-02
poly(ecoli_ug_ml, 2, raw = TRUE)2
-3.964258e-05
因此,我认为情节实际上也不完全正确。
所以,我需要生成一条强制通过零的回归线并得到它的方程,并且,当它给我所说的方程时,理解它在说什么。如果我可以直接用方程式注释绘图区域,我会非常激动。
我现在花了大约 8 个小时来解决这个问题,我检查了 excel 并在 8 秒内得到了一个公式,但我真的很想使用 R 来解决这个问题。谢谢!
澄清一下:这个图的主要目的不是展示这些数据的分布,而是提供一个视觉确认,即我从这些点生成的方程非常适合读数
【问题讨论】:
标签: r ggplot2 regression lm