1

我正在尝试为散点图绘制一条简单的最佳拟合线。

这个例子有效:

plot(dist ~ speed, data= cars, xlab="Speed", ylab="Distance", col= "blue")
title(main="Scatter plot with best-fit line", font.main= 4)
abline(lm(dist ~ speed, data= cars), col= "red")

但是使用我的数据,我收到一条错误消息:

plot(log(datatest$MEAN_intact_for),log(datatest$ERmammal_0_1), col= "blue")
title(main="Scatter plot with best-fit line", font.main= 4)
abline(lm(log(datatest$ERmammal_0_1)~log(datatest$MEAN_intact_for)), col= "red")
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
  NA/NaN/Inf in 'x'

我试过搜索它,但我是 R 新手,所以如果有人能给我任何简单的建议,那就太好了。
- 当我只是绘制它工作正常的图表时,问题是当我添加 abline 命令以获得最佳拟合线时。我也试过

希望有人可以提供帮助。道歉,如果它真的很明显。

4

1 回答 1

1

当您使用 abline() 时,您需要输入截距 (a) 和斜率 (b) 作为参数,而不是仅仅将 lm() 粘贴在那里。所以让我们说:

fmla = lm(log(datatest$ERmammal_0_1)~log(datatest$MEAN_intact_for))

那么你想要:

abline(a = fmla$coefficients[1], b = fmla$coefficients[2])
于 2013-07-31T20:38:28.630 回答