Menyusun dan Menjalankan R dari Command Line
Dua cara untuk menjalankan program R adalah: skrip R, yang banyak digunakan dan paling disukai dan yang kedua adalah R CMD BATCH, itu bukan perintah yang biasa digunakan. Kami boleh memanggilnya terus dari baris arahan atau penjadual kerja lain.
Anda boleh memanggil perintah-perintah ini dari shell yang terdapat di dalam IDE dan pada masa ini, RStudio IDE dilengkapi dengan alat yang meningkatkan atau mengurus skrip R dan fungsi R CMD BATCH.
sumber () fungsi di dalam R adalah alternatif yang baik untuk menggunakan baris perintah. Fungsi ini juga dapat memanggil skrip, tetapi untuk menggunakan fungsi ini, Anda harus berada di dalam lingkungan R.
Kumpulan Data Buatan Dalam Bahasa R
Untuk menyenaraikan kumpulan data yang sudah terpasang dengan R, gunakan perintah data (), kemudian cari apa yang anda mahukan, dan gunakan nama set data dalam fungsi data (). Seperti data (fungsi nama).
Tunjukkan Set Data dalam R
Tanda tanya (?) dapat digunakan untuk meminta bantuan untuk set data.
Untuk memeriksa semuanya gunakan ringkasan ().
Plot () juga merupakan fungsi yang digunakan untuk memplot grafik.
Mari buat skrip ujian dan jalankan. Buat hlm1.R fail dan simpan direktori utama dengan kandungan berikut:
Contoh Kod:
# Kod hello world ringkas dalam cetakan R ("Hello World!cetak ("LinuxHint") cetak (5 + 6)
Menjalankan Hello World
Rangka Data R
Untuk menyimpan data dalam jadual, kami menggunakan struktur dalam R yang disebut a Rangka Data. Ia digunakan untuk menyenaraikan vektor yang sama panjang. Sebagai contoh, pemboleh ubah berikut nm adalah kerangka data yang mengandungi tiga vektor x, y, z:
x = c (2, 3, 5) y = c ("aa", "bb", "cc") z = c (BENAR, SALAH, BENAR) # nm adalah kerangka data nm = data.bingkai (n, s, b)
Terdapat konsep yang disebut Terbina dalamBingkai Data di R juga. mtcars adalah salah satu kerangka data terbina dalam R, yang akan kami gunakan sebagai contoh, untuk pemahaman kami yang lebih baik. Lihat kod di bawah:
> mtcars mpg cyl disp hp drat wt… Mazda RX4 21.0 6 160 110 3.90 2.62… bas RX4 Wag 21.0 6 160 110 3.90 2.88… Datsun 710 22.8 4 108 93 3.85 2.32…
kerangka data mtcars bulitin
Tajuk adalah baris atas jadual yang mengandungi nama lajur. Baris data disumbangkan oleh setiap garis mendatar; setiap baris dimulakan dengan nama baris dan kemudian diikuti dengan data sebenar. Anggota data baris disebut sebagai sel.
Kami akan memasukkan koordinat baris dan lajur dalam kurungan siku tunggal '[]' operator untuk mengambil data dalam sel. Untuk memisahkan koordinat, kami menggunakan koma. Pesanan itu mustahak. Koordinat bermula dengan baris kemudian koma dan kemudian berakhir dengan lajur. Nilai sel 2nd baris dan 1st lajur diberikan sebagai:
> mtcars [2, 2] [1] 6
Kita juga boleh menggunakan nama baris dan lajur dan bukannya koordinat:
> mtcars ["Bas RX4", "mpg"] [1] 6
fungsi nrow digunakan untuk mencari bilangan baris dalam kerangka data.
> nrow (mtcars) # bilangan baris data [1] 32
fungsi ncol digunakan untuk mencari jumlah lajur dalam kerangka data.
> ncol (mtcars) # bilangan lajur [1] 11
Gelung Pengaturcaraan R
Dalam beberapa keadaan, kami menggunakan gelung ketika kami ingin mengautomasikan sebahagian kod, atau kami ingin mengulangi urutan arahan.
Untuk gelung di R
Sekiranya kita mahu mencetak maklumat bertahun-tahun ini lebih daripada satu masa.
cetak (tampal ("Tahun ini", 2000)) "Tahun adalah 2000" cetakan (tampal ("Tahun ini", 2001)) "Tahun adalah 2001" cetakan (tampal ("Tahun ini", 2002) ) "Tahun adalah tahun 2002" cetakan (tampal ("Tahun itu", 2003)) "Cetak tahun ini adalah 2003" (tampal ("Tahun itu", 2004)) "Tahun adalah tahun 2004" cetakan (tampal (" Tahun adalah ", 2005))" Tahun adalah 2005 "
Daripada mengulangi pernyataan kita berulang kali jika kita menggunakan untuk gelung akan menjadi lebih mudah bagi kita. Seperti ini:
untuk (tahun dalam c (2000,2001,2002,2003,2004,2005)) cetak (tampal ("Tahun itu", tahun)) "Tahun adalah 2000" "Tahun adalah 2001" "Tahun ini adalah 2002 "" Tahun 2003 "" Tahun 2004 "" Tahun 2005 "
Semasa Gelung di R
sementara (ungkapan) pernyataan
Sekiranya hasil ungkapan itu BENAR, badan gelung dimasukkan. Pernyataan di dalam gelung dilakukan, dan aliran kembali untuk menilai ekspresi sekali lagi. Gelung akan berulang sehingga ungkapan dinilai menjadi SALAH, dalam hal ini gelung keluar.
Contoh loop sementara:
# i pada mulanya diinisialisasi menjadi 0 i = 0 sementara (i<5) print (i) i=i+1 Output: 0 1 2 3 4
Dalam gelung while di atas, ungkapannya adalah i<5yang mengukur ke BENAR kerana 0 kurang dari 5. Oleh itu, badan gelung dilaksanakan, dan i adalah output dan kenaikan. Penting untuk meningkat i di dalam gelung, sehingga entah bagaimana akan memenuhi keadaan pada suatu ketika. Pada gelung seterusnya, nilai i adalah 1, dan gelung berterusan. Ia akan berulang sehingga i sama dengan 5 apabila keadaan 5<5 reached loop will give FALSE and the while loop will exit.
Fungsi R
Untuk membuat a fungsi kami menggunakan fungsi arahan (). Secara khusus, mereka adalah objek R kelas fungsi.
f <- function() ##some piece of instructions
Terutama, fungsi dapat diteruskan ke fungsi lain karena argumen dan fungsi dapat bersarang, untuk memungkinkan Anda menentukan fungsi di dalam fungsi lain.
Fungsi secara opsional boleh mempunyai beberapa argumen bernama yang mempunyai nilai lalai. Sekiranya anda tidak mahukan nilai lalai, anda boleh menetapkan nilainya menjadi NULL.
Beberapa fakta mengenai hujah R Fungsi:
- Argumen yang diakui dalam definisi fungsi adalah argumen formal
- Fungsi formal dapat memberikan kembali senarai semua argumen formal dari fungsi
- Tidak setiap panggilan fungsi di R menggunakan semua argumen formal
- Argumen fungsi mungkin mempunyai nilai lalai, atau mungkin hilang
#Menentukan Fungsi: f <- function (x, y = 1, z = 2, s= NULL)
Membuat model regresi logistik dengan set data terbina dalam
The glm () fungsi digunakan dalam R agar sesuai dengan regresi logistik. Fungsi glm () serupa dengan lm () tetapi glm () mempunyai beberapa parameter tambahan. Formatnya seperti ini:
glm (X ~ Z1 + Z2 + Z3, keluarga = binomial (pautan = "logit"), data = mydata)
X bergantung pada nilai Z1, Z2, dan Z3. Yang bermaksud Z1, Z2 dan Z3 adalah pemboleh ubah tidak bersandar dan X adalah fungsi yang bergantung kepada keluarga parameter tambahan dan ia mempunyai nilai binomial (link = "logit") yang bermaksud fungsi pautan adalah logit dan kemungkinan taburan model regresi adalah binomial.
Anggaplah kita mempunyai contoh pelajar di mana dia akan mendapat kemasukan berdasarkan dua keputusan peperiksaan. Kumpulan data mengandungi item berikut:
- keputusan _1- Keputusan-1 skor
- keputusan _2- Keputusan -2 markah
- diterima- 1 jika diterima atau 0 jika tidak diterima
Dalam contoh ini, kita mempunyai dua nilai 1 jika pelajar mendapat kemasukan dan 0 jika dia tidak mendapat kemasukan. Kita harus menghasilkan model untuk meramalkan bahawa pelajar mendapat kemasukan atau tidak,. Untuk masalah tertentu, diterima dianggap sebagai pemboleh ubah bersandar, ujian_1 dan peperiksaan_2 dianggap sebagai pemboleh ubah tidak bersandar. Untuk model itu, kod R kami diberikan
> Model_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data)
Mari kita anggap bahawa kita mempunyai dua keputusan pelajar. Hasil-1 65% dan hasil-2 90%, sekarang kita akan meramalkan bahawa pelajar mendapat kemasukan atau tidak untuk menganggarkan kebarangkalian pelajar mendapat kemasukan kod R kami adalah seperti di bawah:
> dalam_frame<-data.frame(result_1=65,result_2=90) >ramalkan (Model_1, in_frame, type = "response") Output: 0.9894302
Output di atas menunjukkan kebarangkalian antara 0 dan 1. Sekiranya ia kurang daripada 0.5 ini bermaksud pelajar tidak mendapat kemasukan. Dalam keadaan ini, ia akan SALAH. Sekiranya lebih besar daripada 0.5, syarat tersebut akan dianggap BENAR yang bermaksud pelajar telah mendapat kemasukan. Kita mesti menggunakan fungsi bulat () untuk meramalkan kebarangkalian antara 0 dan 1.
Kod R untuk itu adalah seperti di bawah:
> bulat (ramalkan (Model_1, in_frame, type = "response")) [/ code] Output: 1
Pelajar akan mendapat kemasukan kerana outputnya adalah 1. Selain itu, kita juga boleh meramalkan pemerhatian lain dengan cara yang sama.
Menggunakan model regresi logistik (pemarkahan) dengan data baru
Apabila diperlukan kita dapat menyimpan model dalam fail. Kod R untuk model kereta api kami akan kelihatan seperti ini:
the_model <- glm(my_formula, family=binomial(link='logit'),data=model_set)
Model ini dapat disimpan dengan:
simpan (file = "nama fail", the_file)
Anda boleh menggunakan fail setelah menyimpannya, dengan menggunakan kod keamanan R:
muat (fail = "nama fail")
Untuk menerapkan model untuk data baru, anda boleh menggunakan baris kod ini:
model_set $ pred <- predict(the_model, newdata=model_set, type="response")
NOTA: Model_set tidak dapat diberikan kepada sebarang pemboleh ubah. Untuk memuatkan model, kita akan menggunakan fungsi beban (). Pemerhatian baru tidak akan mengubah apa-apa dalam model. Model akan tetap sama. Kami menggunakan model lama untuk membuat ramalan mengenai data baru untuk tidak mengubah apa-apa dalam model.
Kesimpulannya
Saya harap anda telah melihat bagaimana pengaturcaraan R berfungsi secara asas dan bagaimana anda dapat bertindak pantas dengan melakukan pembelajaran mesin dan pengekodan statistik dengan R.