Desenați o linie de tendință folosind ggplot (Programare, R, Ggplot2, Trendline)

Sakura a intrebat.
a intrebat.

Am folosit ggplot2 pentru a desena o linie de tendință pe baza datelor mele.

Mai jos este ceva ce am făcut folosind foaia de calcul.

Dar vreau să arăt doar linia de tendință (linia neagră, așa cum se arată în graficul superior), mai degrabă decât toate punctele, deoarece numărul de observații este > 20.000.

Așa că am încercat să fac același lucru folosind ggplot2.

fig_a <- ggplot(df1, aes(data_x, data_y ))
fig_a + stat_smooth(method=lm)
fig_a + stat_smooth(method=gam)

Se pare că nu funcționează bine, cineva poate ajuta?

De ce oferă atât de multe linii în loc de o singură linie de tendință?

Comentarii

  • variabila y pare a fi un factor –  > Por rawr.
  • Cum pot să o corectez? –  > Por Sakura.
1 răspunsuri
milan

Poți face următoarele. Adăugați + geom_smooth(method = "lm") la scriptul tău ggplot.

Exemplu care utilizează date încorporate

ggplot(mpg, aes(displ, hwy)) + geom_point() + geom_smooth(method = "lm")

Comentarii

  • ggplot(mpg, aes(displ, hwy)) + geom_point() + geom_smooth(method = „lm”) nu funcționează. au apărut și multe linii. –  > Por Sakura.
  • Ați putea încerca să introduceți variabilele dvs. în linia de cod afișată mai sus? –  > Por milan.
  • Codul funcționează bine aici. Poate încercați să reinstalați biblioteca pentru ggplot2; în caz contrar, ați putea să vă actualizați versiunea de R (dacă nu folosiți cea mai recentă). Nu sunt sigur, dar ar putea funcționa. –  > Por milan.
  • corect, probabil pentru că am > 20.000 de puncte de date, nu știu, dar eu folosesc versiunea actualizată. Vă mulțumesc. –  > Por Sakura.
  • @Sakura: Confirm că codul lui milan funcționează pentru mine. Doar un mic sfat, dacă „doriți să afișați doar linia de trend” (așa cum ați cerut), omiteți geom_point() în codul lui milan. Astfel, rezultă ggplot(mpg, aes(displ, hwy)) + geom_smooth(method = „lm”) –  > Por Eugen.