2017-09-30 4 views
3

Ich kämpfe, weil ich gerade versuche, meine eigenen X-Achsen-Werte und Markierungen zu einem Diagramm hinzuzufügen, das auch die lineare Regression zeigt.Ich kann axis() nicht hinzufügen, um bei Verwendung von abline (lm()) zu plotten, warum?

Es scheint, dass ODER ich füge die abline hinzu oder ich füge die Achse hinzu. Ich kann nicht beides!

Warum?

Beispieldaten:

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

Dieser Code funktioniert nur für 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 

Dieser Code nur für die Achse funktioniert():

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

Jede Hilfe, bitte ? danke

+0

Hallo, danke. Mein realer Datenrahmen hat nur zwei numerische Variablen: "Jahr" von 1901 bis 2000 und "Summe", die sogar zufällige ganze Zahlen sein können. – 1000111000

+1

danke Axeman. das wurde gemacht. – 1000111000

Antwort

3

Die X-Achse geht nicht unbedingt von 1 bis 100. Die Einheiten werden durch die Skalierung Ihrer Variablen definiert.

In Ihrem ersten Beispiel geht die x-Achse tatsächlich von 1901 bis 2000. Sie müssen daher at in diesem Bereich definieren, sonst fallen Ihre Werte außerhalb der Grafik und sind unsichtbar. Einfach tun:

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

Das zweite Beispiel Ihres axis Anruf funktioniert, weil Sie index auf der x-Achse aufgetragen, die 1-n Beobachtungen zählt nur (in diesem Fall 100). Der abline ist nicht sichtbar, da er nicht innerhalb des Bereichs dieses Diagramms liegt.

+0

Sie rocken Mann I_I_ – 1000111000

Verwandte Themen