2017-09-30 5 views
3

私は自分のx軸の値と目盛りを線形回帰を示すプロットに追加しようとしているので、苦労しています。abline(lm())を使用しているとき、plotにaxis()を追加できません。なぜですか?

私はアブラインを追加するか、軸を追加するようです。私は両方をすることはできません!

なぜですか?

例データ:

df = data.frame(year = c(1901:2000), total = ceiling(runif(100, 2, 3000))) 

このコードは()ablineに対してのみ機能:

plot(df$year, df$total, xaxt='n') 
abline(lm(df$total ~ df$year)) 
axis(1, at = seq(1,100, by = 10), labels = seq(1901, 2000, by = 10)) #this line does not work 

このコードは()軸のためにのみ機能します。

plot(df$total, xaxt='n') 
abline(lm(df$total ~ df$year)) #this line does not work 
axis(1, at = seq(1,100, by = 10), labels = seq(1901, 2000, by = 10)) 

すべてのヘルプ、してください? ありがとう

+0

こんにちは、ありがとうございます。私の実際のデータフレームには、1901年から2000年までの「年」と、ランダムな整数でさえある「合計」という2つの数値変数しかありません。 – 1000111000

+1

ありがとうAxeman。これが行われています。 – 1000111000

答えて

3

x軸は必ずしも1から100になるとは限りません。単位は変数のスケールで定義されます。

最初の例では、x軸は実際には1901から2000になります。そのため、範囲内でatを定義する必要があります。そうでない場合、値はプロットの外にあり、見えません。単純に実行します。あなただけの1からまでカウントn個(この場合は100で)観測x軸、上indexをプロットしているので、あなたのaxis呼び出しが動作します

plot(df$year, df$total, xaxt='n') 
abline(lm(df$total ~ df$year)) 
axis(1, at = seq(1901, 2000, by = 10)) 

第二の例を。 ablineは、そのプロットの範囲内にないため、表示されません。

+0

ロックマンI_I_ – 1000111000

関連する問題