在我的研究领域,已经确定两个变量-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))
返回0.9776906,在我看来不应该产生水平线,而是一条类似于y = x的线。
非常感谢任何指导。
答案 0 :(得分:4)
这是一个公式问题,与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轴截距并强制拟合穿过原点。