geom_smooth () apa saja metode yang tersedia?

93

Saya menggunakan geom_smooth()dari ggplot2.

Dalam buku Hadley Wickham ("ggplot2 - Grafik Elegan untuk Analisis Data") ada contoh (halaman 51), di mana method="lm"digunakan. Dalam manual online tidak ada pembicaraan tentang methodargumen. Saya melihat hasil Google lainnya (dan pertanyaan di sini) dari orang-orang yang menggunakan method='loess'.

Apakah ada daftar yang lengkap di suatu tempat yang menjelaskan pilihan?

Dari apa yang saya lihat, 'lm'menggambar garis lurus, dan 'loess'menggambar kurva yang sangat halus. Saya berasumsi ada orang lain yang menarik lebih banyak garis bergerigi di antara titik referensi?

The seArgumen dari contoh juga tidak dalam bantuan atau dokumentasi online.

FWIW di sini adalah kode saya.

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)
nzcoops
sumber
2
Pertanyaan dan jawaban sudah ketinggalan zaman. Dokumentasi terkini mencantumkan argumen: ggplot2.tidyverse.org/reference/geom_smooth.html
jan-glx
Tautan @ StéphaneLaurent telah dipindahkan (mengingat usianya sekarang 5+ tahun): stats.idre.ucla.edu/r/faq/…
MokeEire

Jawaban:

38

Terkadang menanyakan pertanyaan yang membuat jawabannya keluar. Metode dan argumen tambahan terdaftar di halaman stat_smooth wiki ggplot2 .

Yang disinggung di geom_smooth()halaman dengan:

"Lihat stat_smooth untuk contoh penggunaan model terpasang yang pas jika Anda membutuhkan lebih fleksibel, contoh ini menunjukkan kepada Anda bagaimana merencanakan kecocokan dari model yang Anda pilih".

Ini bukan pertama kalinya saya melihat argumen dalam contoh grafik ggplot yang tidak secara khusus ada dalam fungsinya. Itu membuat sulit untuk mengetahui ruang lingkup setiap fungsi, atau mungkin saya belum menemukan daftar eksplisit ajaib yang mengatakan apa yang akan dan tidak akan berfungsi dalam setiap fungsi.

nzcoops
sumber
4
ya, dokumentasinya agak berantakan. Saya tidak suka bagaimana Springer mengenakan biaya lebih dari 40 dolar untuk buku hadley, yang berisi informasi yang kurang dari situs web.
wespiserA
@wespiserA dalam arti apa informasi hilang dari situs web (atau bantuan paket)? nzcoops mencari di tempat yang salah. Itu tidak berarti bahwa bantuan untuk geom_smooth()tidak dapat ditingkatkan, katakanlah dengan menyebutkan secara eksplisit methoddan untuk melihat stat_smooth()- saat ini ini hanya terjadi di komentar dalam contoh - dan email sopan ke Hadley, saya yakin, akan berhasil. keajaiban. Penulisan dokumentasi itu sulit, terutama bila Anda sangat dekat dengan kode; sebagai pengembang, Anda bukan lagi pengguna dan akan kesulitan menulis dokumentasi untuk pengguna.
Gavin Simpson
1
@nzcoops alasannya tidak didokumentasikan sebagai argumen geom_smooth()adalah karena fungsi itu tidak memiliki atau mengambil argumen itu. Kode geom digunakan untuk menghasilkan objek yang, ketika dicetak, akan menggambar. Ketentuan dalam ggplot adalah memiliki stat_foo()fungsi, bahkan stat_identity()jika Anda tidak ingin menghitung apa pun. Konon, Hadley menyambut baik komentar / kritik terhadap kode / paketnya jadi kirimkan dia dan email dan sarankan tautan profil yang lebih tinggi antara geom_dokumentasi dan yang terkaitstat_
Gavin Simpson
2
@Gavin, ya, saya telah mengirim email ke Hadley beberapa kali di masa lalu, saya pikir pertanyaan itu masih berharga di sini mengingat saya tidak ragu orang lain akan mencarinya di beberapa titik. Komentar Anda tentang 'tidak memiliki atau menerima argumen itu' tidak benar. Memang. Ini mungkin meneruskannya ke stat_smooth () tetapi itu 'mengambil' seperti yang ditunjukkan contoh. Saya juga tidak ingin mengganggu Hadley karena sesuatu yang saya tahu seseorang dapat menjawab dengan cepat, meskipun saya sendiri: /
nzcoops
23

Argumen metode menentukan parameter dari statistik halus. Anda dapat melihat stat_smoothdaftar semua kemungkinan argumen untuk argumen metode.

wespiserA
sumber
Perubahan jawaban nakal @wespiser: P Saya akan membiarkannya berlalu;)
nzcoops
ya, Anda menangkap gertakan saya untuk pertama kalinya. Setelah itu saya memutuskan untuk melakukan sedikit riset dan menemukan apa yang sedang terjadi!
wespiserA
1

Argumen se dari contoh juga tidak ada dalam bantuan atau dokumentasi online.

Ketika 'se' di geom_smooth disetel 'FALSE', wilayah bayangan kesalahan tidak terlihat

RAMYA HARIHARAN
sumber