geom_smooth () mevcut yöntemler nelerdir?


93

Ben kullanıyorum geom_smooth()dan ggplot2.

Hadley Wickham'ın kitabında ("ggplot2 - Elegant Graphics for Data Analysis") burada kullanılan bir örnek (sayfa 51) vardır method="lm". Gelen çevrimiçi kılavuzun hiçbir konuşma yoktur methodargüman. Kullanıcıların diğer Google sonuçlarını (ve burada soruları) görüyorum method='loess'.

Bir yerde seçenekleri açıklayan kapsamlı bir liste var mı?

Gördüğüm kadarıyla, 'lm'düz bir çizgi 'loess'çiziyor ve çok düzgün bir eğri çiziyor. Referans noktaları arasında daha çok pürüzlü bir çizgi çeken başkalarının da olduğunu varsayıyorum.

seÖrnekten argümanı da yardım veya çevrimiçi belgelerinde değildir.

FWIW burada benim kodum.

p <- ggplot(output8, aes(age, myoutcome, group=id, colour=year_diag_cat2)) +
  geom_line() + scale_y_continuous(limits = c(lwr,upr))
p + geom_smooth(aes(group=year_diag_cat2), method="loess", size=2, se=F)


2
Soru ve cevaplar güncel değil. Güncel dokümantasyon listeleri argümanlar: ggplot2.tidyverse.org/reference/geom_smooth.html
Ocak-glx

@ StéphaneLaurent'in bağlantısı taşındı (şu anda 5+ yaşında olduğu düşünüldüğünde): stats.idre.ucla.edu/r/faq/…
MokeEire

Yanıtlar:


38

Bazen cevabı öne çıkaran soruyu sormaktır. Yöntemler ve ekstra bağımsız değişkenler ggplot2 wiki stat_smooth sayfasında listelenmiştir .

Hangi geom_smooth()sayfada ima ediliyor :

"Biraz daha esnekliğe ihtiyaç duyuyorsanız yerleşik model fitingi kullanma örnekleri için stat_smooth'a bakın. Bu örnek, seçtiğiniz herhangi bir modelden uygunlukları nasıl çizeceğinizi gösterir".

Özellikle işlevde olmayan ggplot grafikleri örneklerinde ilk kez argümanlar görmedim. Her bir işlevin kapsamını bulmayı zorlaştırıyor, ya da belki de her işlevde neyin işe yarayıp neyin çalışmayacağını söyleyen sihirli açık bir listeyle karşılaşmadım.


4
evet, dokümantasyon biraz dağınık. Springer'ın, web sitesindeki eksik bilgileri içeren Hadley'in kitabı için 40 dolardan fazla ücret alması hoşuma gitmiyor.
49'da

@wespiserA web sitesinde (veya paket yardımında) bilgiler ne anlamda eksik? nzcoops yanlış yere bakıyordu. Bu, yardımın geom_smooth()iyileştirilemeyeceği anlamına gelmez, diyelim ki açıkça bahsederek methodve görerek stat_smooth()- şu anda bu yalnızca örneklerdeki bir yorumda olur - ve Hadley'e kibar bir e-posta, eminim, işe yarar harikalar. Belgeleme yazmak zordur, özellikle koda çok yakın olduğunuzda; geliştirici olarak artık bir kullanıcı değilsiniz ve kullanıcılar için belge yazmakta zorlanacaksınız.
Gavin Simpson

1
@nzcoops bir argüman olarak belgelenmemesinin nedeni geom_smooth(), bu fonksiyonun o argümana sahip olmaması veya almamasıdır. Geom kodu, yazdırıldığında çizimi yapan nesneler üretmek içindir. Ggplot'taki kural, hiçbir şey hesaplamak istemediğinizde stat_foo()bile işlevlere sahip stat_identity()olmaktır. Bununla birlikte, Hadley, kodunun / paketlerinin yorumunu / eleştirisini memnuniyetle karşılıyor, bu yüzden onu bırakın ve e-posta geom_stat_
gönderin

2
@Gavin, evet, geçmişte Hadley'e birkaç kez e-posta gönderdim, sorunun burada hala değerli olduğunu düşündüm, çünkü başkalarının bir noktada google'da arayacağından şüphem yok. Yine de, 'bu argümana sahip değil veya almıyor' hakkındaki yorumunuz yanlış. Öyle. Bunu stat_smooth () 'a geçirebilir ama örneklerin gösterdiği gibi' alır '. Ben de kendim de olsa birinin hızlı bir şekilde cevaplayabileceğini bildiğim bir şey
yüzünden Hadley'i rahatsız etmek istemedim

23

Yöntem bağımsız değişkeni, düzgün istatistiğin parametresini belirtir. stat_smoothYöntem argümanına yönelik tüm olası argümanların listesini görebilirsiniz .


Arsız cevap değişikliği @wespiser: P Geçmesine izin vereceğim;)
nzcoops

evet, blöfümü ilk kez yakaladın. Bundan sonra biraz araştırma yapmaya karar verdim ve neler olduğunu anladım!
wespiserA

1

Örnekteki se argümanı da yardımda veya çevrimiçi belgelerde yoktur.

Geom_smooth'taki 'se', 'FALSE' olarak ayarlandığında, hata gölgeleme bölgesi görünmez

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.