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() を使用するときは、そこに lm() を貼り付けるのではなく、切片 (a) と勾配 (b) をパラメーターとして入力する必要があります。では、次のように言いましょう。

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 に答える