2017-09-30 7 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 년 사이의 'year'와 임의의 정수 값이 될 수있는 'total'이라는 두 가지 숫자 변수 만 가지고 있습니다. – 1000111000

+1

감사합니다 Axeman. 이것은 행해졌 다. – 1000111000

답변

3

x 축의 값은 반드시 1에서 100까지입니다. 단위는 변수의 척도에 의해 정의됩니다.

첫 번째 예제에서 x 축은 실제로 1901에서 2000으로 바뀝니다. 따라서이 범위에서 at을 정의해야합니다. 그렇지 않으면 값이 플롯 외부에 있고 보이지 않습니다. 간단하게 수행

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

그냥 1에서 (이 경우 100) N 관측 카운트 x 축에 index 음모를 꾸미고 있기 때문에 당신의 axis 전화가 작동 두 번째 예. abline은 해당 플롯의 범위 내에 있지 않으므로 표시되지 않습니다.

+0

록 남자 I_I_ – 1000111000