Mau berbagi tautan ke tutorial? Kedengarannya menarik.
cheesus
1
@ cheeesus ... Saya sedang meneliti data ebook di R dengan studi kasus ... di sana Anda dapat menemukan lebih banyak lagi contoh menarik seperti itu.
Ankita
Jawaban:
193
Benda di sebelah kanan <-adalah formulaobjek. Ini sering digunakan untuk menunjukkan model statistik, di mana hal di sebelah kiri ~adalah respon dan hal-hal di sebelah kanan ~adalah variabel penjelas. Jadi dalam bahasa Inggris Anda akan mengatakan sesuatu seperti "Spesies tergantung pada Panjang Sepal, Lebar Sepal, Panjang Petal dan Lebar Petal" .
Bagian myFormula <-dari baris itu menyimpan rumus dalam objek yang disebut myFormulasehingga Anda dapat menggunakannya di bagian lain dari kode R.
Bagian 'formula' dari lazyevalsketsa memberikan pengantar yang bagus untuk apa formula itu
RobinL
82
R mendefinisikan ~operator (tilde) untuk digunakan dalam formula. Rumus memiliki semua jenis kegunaan, tetapi mungkin yang paling umum adalah untuk regresi:
library(datasets)
lm( myFormula, data=iris)
help("~")atau help("formula")akan mengajarkan Anda lebih banyak.
@Spacedman telah membahas dasar-dasarnya. Mari kita bahas cara kerjanya.
Pertama, sebagai operator, perhatikan bahwa ini pada dasarnya adalah jalan pintas ke suatu fungsi (dengan dua argumen):
>`~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs
Itu bisa bermanfaat untuk diketahui untuk digunakan dalam mis apply. Perintah keluarga.
Kedua, Anda dapat memanipulasi rumus sebagai teks :
Ketiga, Anda dapat memanipulasinya sebagai daftar :
myFormula[[2]]
myFormula[[3]]
Akhirnya, ada beberapa trik yang membantu dengan formula (lihat help("formula")lebih lanjut):
myFormula <- Species ~ .
Misalnya, versi di atas sama dengan versi asli, karena titik berarti "semua variabel belum digunakan." Ini terlihat pada data.frame yang Anda gunakan dalam panggilan model akhirnya, melihat variabel mana yang ada di data.frame tetapi tidak secara eksplisit disebutkan dalam rumus Anda, dan mengganti titik dengan variabel-variabel yang hilang.
Terima kasih atas jawaban @Ari B. Friedman tetapi baris terakhir agak ambigu di mana Anda mengatakan 'titik berarti "semua variabel belum digunakan"'. Jika Anda bisa mengilustrasikannya lebih lanjut.
Ankita
9
@Ankita, "belum digunakan" dalam konteks ini berarti tidak disebut. Di Species~., spesies adalah satu-satunya variabel yang telah digunakan. Oleh karena itu, ini tergantung pada setiap variabel lain dalam data.frame.
x4nd3r
Saya tidak mengerti myFormula <- Species ~ . . Kapan dot masih bisa diganti dengan variabel dari data.frame? Bisakah Anda memberikan contoh
Jawaban:
Benda di sebelah kanan
<-
adalahformula
objek. Ini sering digunakan untuk menunjukkan model statistik, di mana hal di sebelah kiri~
adalah respon dan hal-hal di sebelah kanan~
adalah variabel penjelas. Jadi dalam bahasa Inggris Anda akan mengatakan sesuatu seperti "Spesies tergantung pada Panjang Sepal, Lebar Sepal, Panjang Petal dan Lebar Petal" .Bagian
myFormula <-
dari baris itu menyimpan rumus dalam objek yang disebutmyFormula
sehingga Anda dapat menggunakannya di bagian lain dari kode R.Penggunaan umum lainnya dari objek rumus di R
The
lattice
paket menggunakan mereka untuk menentukan variabel plot .The
ggplot2
paket menggunakan mereka untuk menentukan panel untuk merencanakan .The
dplyr
paket menggunakan mereka untuk non-standar evaulation .sumber
lazyeval
sketsa memberikan pengantar yang bagus untuk apa formula ituR mendefinisikan
~
operator (tilde) untuk digunakan dalam formula. Rumus memiliki semua jenis kegunaan, tetapi mungkin yang paling umum adalah untuk regresi:help("~")
atauhelp("formula")
akan mengajarkan Anda lebih banyak.@Spacedman telah membahas dasar-dasarnya. Mari kita bahas cara kerjanya.
Pertama, sebagai operator, perhatikan bahwa ini pada dasarnya adalah jalan pintas ke suatu fungsi (dengan dua argumen):
Itu bisa bermanfaat untuk diketahui untuk digunakan dalam mis
apply
. Perintah keluarga.Kedua, Anda dapat memanipulasi rumus sebagai teks :
Ketiga, Anda dapat memanipulasinya sebagai daftar :
Akhirnya, ada beberapa trik yang membantu dengan formula (lihat
help("formula")
lebih lanjut):Misalnya, versi di atas sama dengan versi asli, karena titik berarti "semua variabel belum digunakan." Ini terlihat pada data.frame yang Anda gunakan dalam panggilan model akhirnya, melihat variabel mana yang ada di data.frame tetapi tidak secara eksplisit disebutkan dalam rumus Anda, dan mengganti titik dengan variabel-variabel yang hilang.
sumber
Species~.
, spesies adalah satu-satunya variabel yang telah digunakan. Oleh karena itu, ini tergantung pada setiap variabel lain dalam data.frame.myFormula <- Species ~ .
. Kapan dot masih bisa diganti dengan variabel dari data.frame? Bisakah Anda memberikan contoh