Nerede C kod yavaş R fonksiyonları hızlandırmak için yazmayı nasıl öğrenebilirim?
R ile kullanmak için C kodu yazmak için nasıl öğrenmek için en iyi kaynak nedir? R uzantıları system and foreign language interfaces bölüm hakkında biliyorum, ama bu oldukça zor olacak bulmak. İyi kaynaklar (çevrimiçi ve çevrimdışı) R ile kullanmak için C kodu yazmak için ne var?
Açıklamak istemiyorum öğrenmek C kodu yazmak istiyorum öğrenmek için nasıl daha iyi entegre R ve C İçin örnek, nasıl dönüştürebilirim bir C tamsayı vektörü için R tamsayı vektörü (veya tersi) ya da bir C skaler, bir vektör R?
CEVAP
İyi iyi eski varKaynak, Luke kullanın!--- R (çok verimli) C kod bol kendisinin özel bir çalışma ve paketleri yüzlerce, yazarlar, bazı güven var, BOZUK olabilir. Bu çalışma ve uyum gerçek, test edilen örnekler sağlar.
Ama Josh şüpheli olarak, C ve dolayısıyla Rcpp karşı daha yalın. Ayrıca örnekler bol vardır.
Düzenleme:Yararlı bulduğum iki kitap vardı:
- İlk Venables ve Ripley "S Programlamadiş (ve yıllardır 2. Baskı dair söylentiler vardı) uzun olsa bile". Zamanda sadece başka bir şey yoktu.
- Mecliste ikinci" .' ^em>Veri Analizi için bir yazılım" çok daha yeni ve çok daha güzel R merkezli olan ve genişletilmesi iki bölüm R. C ve C De belirtilen olsun hissediyorum. Ayrıca, John digest tek başına kabul fiyat değer olduğunu çok yaptığım şey için beni parçalar.
Dedi ki, John büyüyor düşkün Rcpp (katkı) olarak bulur maç arasında R nesneleri ve C nesneleri () Rcpp) çok doğal ve ReferenceClasses yardım.
Edit 2:Hadley'in refocussed soru ile bençok güçlüC düşünün . C---çok sıkıcı ve ... yapmanız gereken çok klişe saçmalık var ^em>çok önlenebilir. Rcpp-introduction vignette bakabilirsiniz. Başka bir basit örnek 10% farklar (Radford Neal örnekleri) konusunda endişelenmek yerine getirebileceğimizi göstermek istediğim this blog posteightyfoldC ile artar (tabii yapmacık bir örnek üzerinde).
Edit 3:Hafif, koymak için, grok zor C hataları içine çalıştırabilirsiniz bu karmaşıklık vardır. Ama sadeceRcpp kullanınuzatmak yerine, nadiren gerekir. Ve bu süremaliyetinkar edilemez, uzak gölgesindeyarardaha basit bir kod, daha az klişe, hayır KORUMAK/KORUMASINI kaldırmak, bellek yönetimi vb pp. Doug Bates daha dün C ve C Rcpp yazmaktan R yazma gibi çok fazla bulduğunu belirtti . YMMV.
Şelale grafikler, sorun/çözüm bulmak i...
Nasıl C fonksiyonları nesneleri geçirm...
Bir element nasıl yavaş yavaş jQuery i...
Nasıl düzgün-derleme bilgileri Haskell...
Çok yavaş gölgede daha duyarlı hale ge...