通过 abline(lm(y~x)) 在 R 中添加回归线会产生带有 -log10 的奇数结果
Adding regression line via abline(lm(y~x)) in R produces odd result with -log10
在我的研究领域,两个变量 -log10(x) 和 y 之间存在线性关系是公认的。
我在 R 中绘制了以下散点图,代码为:
plot(-log10(LDR2EUR$V5),LDR2EUR$V6,ylab="r2 to rs13169313", xlab="log10(association p-value)",col=ifelse(LDR2EUR$V6==1,'purple',LDR2EUR$V7), pch=20)
然后我尝试通过以下方式添加回归线:
abline(lm(LDR2EUR$V6~-log10(LDR2EUR$V5)))
但是,该线并不像最佳拟合线那样适合数据。
我想知道线条拟合不佳是否与 -log10 有关?
自
cor(LDR2$V6,-log10(LDR2$V5))
returns 0.9776906 在我看来应该不是水平线,而是类似于 y=x 的线。
任何指导将不胜感激。
这是一个公式问题,与 log10 无关,而是因为 "-"
符号在公式表达式中的解释方式:
lm(LDR2EUR$V6 ~ -log10(LDR2EUR$V5)
.. 不会针对负 V5 使 V6 回归,而是将 V5 从考虑中移除。 (您最终在 V6 的平均值处绘制了一条线。请改为尝试:
abline( lm( LDR2EUR$V6 ~ I(-log10(LDR2EUR$V5) ) )
您可能真的想要(如果理论支持通过 (0,0) 的线):
abline( lm( LDR2EUR$V6 ~ I(-log10(LDR2EUR$V5) -1 ) )
这也不会从任何东西中减去 1,而是移除 y 截距并强制拟合通过原点。
在我的研究领域,两个变量 -log10(x) 和 y 之间存在线性关系是公认的。
我在 R 中绘制了以下散点图,代码为:
plot(-log10(LDR2EUR$V5),LDR2EUR$V6,ylab="r2 to rs13169313", xlab="log10(association p-value)",col=ifelse(LDR2EUR$V6==1,'purple',LDR2EUR$V7), pch=20)
然后我尝试通过以下方式添加回归线:
abline(lm(LDR2EUR$V6~-log10(LDR2EUR$V5)))
但是,该线并不像最佳拟合线那样适合数据。
我想知道线条拟合不佳是否与 -log10 有关?
自
cor(LDR2$V6,-log10(LDR2$V5))
returns 0.9776906 在我看来应该不是水平线,而是类似于 y=x 的线。
任何指导将不胜感激。
这是一个公式问题,与 log10 无关,而是因为 "-"
符号在公式表达式中的解释方式:
lm(LDR2EUR$V6 ~ -log10(LDR2EUR$V5)
.. 不会针对负 V5 使 V6 回归,而是将 V5 从考虑中移除。 (您最终在 V6 的平均值处绘制了一条线。请改为尝试:
abline( lm( LDR2EUR$V6 ~ I(-log10(LDR2EUR$V5) ) )
您可能真的想要(如果理论支持通过 (0,0) 的线):
abline( lm( LDR2EUR$V6 ~ I(-log10(LDR2EUR$V5) -1 ) )
这也不会从任何东西中减去 1,而是移除 y 截距并强制拟合通过原点。