Saya menggunakan keduanya. Saya sering membuat prototipe fungsi & algoritma di Matlab karena, seperti yang dinyatakan, lebih mudah untuk mengekspresikan suatu algoritma dalam sesuatu yang dekat dengan bahasa matematika murni.
R memang memiliki perpustakaan yang sangat baik. Saya masih mempelajarinya, tapi saya mulai meninggalkan Matlab di debu karena begitu Anda tahu R, itu juga cukup mudah untuk prototipe fungsi di sana.
Namun, saya menemukan bahwa jika Anda ingin algoritma berfungsi secara efisien dalam lingkungan produksi, yang terbaik adalah pindah ke bahasa yang dikompilasi seperti C ++. Saya memiliki pengalaman membungkus C ++ ke dalam Matlab dan R (dan unggul dalam hal ini), tetapi saya memiliki pengalaman yang lebih baik dengan R. Penafian: Menjadi seorang mahasiswa pascasarjana, saya belum menggunakan versi terbaru dari Matlab untuk dll saya, Saya telah bekerja hampir secara eksklusif di Matlab 7.1 (yang seperti 4 tahun). Mungkin versi yang lebih baru bekerja lebih baik, tapi saya bisa memikirkan dua situasi di atas kepala saya di mana C ++ dll di belakang Matlab menyebabkan Windows XP ke layar biru karena saya berjalan secara tidak tepat di luar batas array - masalah yang sangat sulit untuk debug jika komputer Anda reboot setiap kali Anda melakukan kesalahan itu ...
Terakhir, komunitas R tampaknya tumbuh jauh lebih cepat dan dengan momentum lebih banyak daripada yang dimiliki komunitas Matlab. Lebih lanjut, karena gratis, Anda juga tidak berurusan dengan manajer lisensi flexlm Godforsaken.
Catatan: Hampir semua perkembangan saya dalam algoritma MCMC sekarang. Saya melakukan sekitar 90% dalam produksi di C ++ dengan visualisasi dalam R menggunakan ggplot2.
Pembaruan untuk Komentar Paralel:
Cukup banyak waktu pengembangan saya sekarang dihabiskan untuk memparalelkan rutinitas MCMC (ini tesis PhD saya). Saya telah menggunakan toolbox paralel Matlab dan bintang P solusi (yang saya kira sekarang dimiliki oleh Microsoft ?? - Astaga satu lagi menelan ...) saya menemukan toolbox paralel menjadi konfigurasi mimpi buruk - ketika saya menggunakannya, diperlukan akses root ke setiap node klien tunggal. Saya pikir mereka telah memperbaiki "bug" kecil itu sekarang, tetapi masih berantakan. Saya menemukan solusi untuk menjadi elegan, tetapi seringkali sulit untuk profil. Saya belum pernah menggunakan Jaket , tetapi saya sudah mendengar hal-hal baik. Saya juga belum menggunakan versi terbaru dari kotak alat paralel yang juga mendukung perhitungan GPU.
Saya hampir tidak memiliki pengalaman dengan paket paralel R.
Sudah pengalaman saya bahwa kode paralelisasi harus terjadi pada tingkat C ++ di mana Anda memiliki granularity kontrol yang lebih baik untuk dekomposisi tugas dan alokasi memori / sumber daya. Saya menemukan bahwa jika Anda mencoba untuk memparalelkan program pada tingkat tinggi, Anda sering hanya menerima speedup minimal kecuali kode Anda mudah terurai (juga disebut dummy-parallelism). Yang mengatakan, Anda bahkan bisa mendapatkan speedup yang masuk akal menggunakan satu baris di level C ++ menggunakan OpenMP:
#pragma omp parallel for
Skema yang lebih rumit memiliki kurva belajar, tapi saya sangat suka kemana perginya gpgpu. Pada JSM tahun ini, beberapa orang yang saya ajak bicara tentang pengembangan GPU dalam R mengutipnya hanya sebagai "jari kaki di ujung yang dalam" begitu untuk berbicara. Tetapi seperti yang dinyatakan, saya memiliki pengalaman minimal - untuk berubah dalam waktu dekat.