2013-03-02 241 views
1

我想绘制一个简单的最适合线条到散点图。散点图R中的最佳拟合线误差 - Formula.default(object,env = baseenv())中的误差

这个例子的工作原理:

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命令来获得最佳拟合线。 我也试过

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

回答

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])