Cara mempelajari R sebagai bahasa pemrograman [tertutup]

105

Saya ingin tahu bagaimana mempelajari bahasa R sebagai bahasa 'pemrograman' daripada mempelajarinya sebagai sistem statistik. Pertanyaan saya dipicu oleh kurangnya pemahaman tentang fungsi-fungsi seperti parse, eval, dll. Yang mungkin tidak sering digunakan oleh pengguna R dengan persuasi 'statistik'.

Sunting: Saya telah menjelajahi alat-alat seperti Rpy RSPerl rJava dan ingin (setidaknya) dapat memahami konsep yang memfasilitasi komunikasi R dengan bahasa pemrograman lain.

Ketersediaan aplikasi Web untuk R (R-PHP, RApache, dll.) Adalah faktor motivasi lain bagi saya untuk mendapatkan pemahaman yang lebih dalam dan lebih terstruktur tentang R.

Terakhir, saya ingin bisa menulis paket R yang pemahamannya akan bermanfaat jika tidak perlu.

harshsinghal
sumber
1
Anda akan mendapatkan jawaban yang lebih baik jika Anda dapat mengatakan mengapa Anda mempertimbangkan untuk menggunakan R sebagai bahasa pemrograman, daripada sistem statistik. Apakah Anda merekatkan perangkat lunak lain, yang sudah dikembangkan di R? Apakah Anda memiliki programmer lain yang tidak tahu apa-apa selain R, jadi Anda terpaksa mengembangkannya?
Chip Uni
7
Pasti ada kebutuhan akan buku dengan judul seperti "Teknik Perangkat Lunak Statistik dengan R", yang akan menjelaskan R dari sudut pandang bahasa pemrograman, membahas prinsip-prinsip pemrograman fungsional dan pemrograman berorientasi objek di R, dan benar-benar fokus pada praktik terbaik untuk mengembangkan sistem yang relatif besar.
Harlan
Saya pikir ini adalah salah satu cara paling menyenangkan untuk mempelajari bahasa ini: tryr.codeschool.com/levels/1/challenges/16
Umit Kaya
Pilihan saya untuk membuka kembali didasarkan pada fakta bahwa ini adalah pertanyaan yang sangat disukai dan di salah satu hit pertama di Google saat Anda menelusuri "stackoverflow r". Sudah 10 tahun dan hanya sebagian dari rekomendasi yang masih berlaku. Selain itu, kurangnya kesempatan untuk menawarkan materi yang lebih modern telah ditutup.
IRTFM
@ 42- Anda tidak akan menganggapnya sebagai pertanyaan "mencari tutorial"?
camille

Jawaban:

87

Sebagai permulaan, Anda mungkin ingin melihat artikel ini oleh John Cook . Pastikan juga bahwa Anda membaca "The R Inferno" .

Ada banyak sumber daya yang bagus di beranda R , tetapi khususnya, baca "Pengantar R" dan "Definisi Bahasa R" .

Beberapa pertanyaan stackoverflow yang sangat terkait:

Buku favorit saya tentang subjek: "Perangkat Lunak untuk Analisis Data: Pemrograman dengan R", oleh John Chambers , pencipta bahasa S.

Shane
sumber
Saya akan menjawab dengan tautan yang sama. @harshsinghal Dengan asumsi Anda bukan seorang pemula yang lengkap dalam pemrograman, tautan itu sangat berguna.
Secko
Aku juga akan menjamin R inferno. Ini berisi banyak hal yang saya dapatkan dari buku Chambers tanpa verbositas dan keyakinan agama.
eytan
Dokumen R inferno brilian
Federico Giorgi
23

Sebuah buku yang bagus untuk mempelajari R-sebagai-bahasa-pemrograman (sebagai lawan dari R-untuk-statistik) adalah The Art of R Programming , oleh Norman Matloff.

masukkan deskripsi gambar di sini

Ini sangat mudah dibaca, tidak menganggap Anda seorang ilmuwan komputer, dan cukup murah sebagai buku R.

gung - Kembalikan Monica
sumber
18

Saya lebih suka menyarankan awal yang baik dan komprehensif, seperti The R Book oleh Michael Crawley. Ini adalah buku yang mudah dibaca dan lengkap tentang fungsi inti R, dengan tip statistik dan beberapa latihan. Ini banyak berfokus pada kekuatan R (misalnya model linier) dan memberikan juga trik pengkodean yang berguna. Itu sangat membantu saya ketika saya berjuang di kursus online samar.

teks alt

Federico Giorgi
sumber
2
Saya setuju - ini adalah buku pengantar yang bagus; Crawley menulis dengan sangat jelas.
Richie Cotton
Ini terlalu detail. Artikel oleh John Cook di atas jauh lebih ringkas. Sebagai seorang programmer, Anda tidak membutuhkan banyak bagian dari "The R book".
Maksimal
14

Saya adalah pembelajar yang sangat aktif, jadi saran ini mungkin khusus untuk gaya belajar saya. Saya menyarankan bahwa tempat terbaik untuk memulai "belajar memprogram" dalam bahasa apa pun melibatkan menemukan masalah di luar jangkauan pengalaman normal Anda dan kemudian mencoba menyelesaikannya menggunakan bahasa pemrograman.

Proyek yang paling banyak mengajari saya tentang cara membuat program Rtidak ada hubungannya dengan statistik sama sekali.

Mengetahui fungsi seperti parse()dan eval()sama sekali bukan ukuran untuk menjadi "programmer R yang baik". Aplikasi yang membutuhkan banyak penggunaan fungsi-fungsi ini tidak menjadi masalah utama yang dapat Anda terapkan R. Sebaliknya, saya pikir Anda harus mencoba menjadi "programmer yang baik" siapa tahu R. Ini melibatkan penyempurnaan pendekatan pemecahan masalah Anda.

Pemrograman bukanlah olahraga tontonan-- buku yang bagus sangat diperlukan sebagai referensi tentang alat yang tersedia, tetapi Anda perlu menemukan beberapa masalah untuk mengasah keterampilan Anda.

Sharpie
sumber