2009-11-16 4 views
9

Küçük boyutlu bir analistler ve istatistikçiler takımı ile orta büyüklükteki bir R kodu olacak. Onlar akıllı insanlar, ama onlar programcılar olarak eğitimli ya da deneyimli değiller. (Ben varım.) Bazı R kodları yazdılar, ancak projemizin genişletilebilir, verimli ve sürdürülebilir olması için, iyi yapılandırılmış ve daha fazla korsanlığa kavuşması gerekiyor. Daha iyi bir programcı olmayı öğrenmenin en iyi yollarından biri, mevcut mevcut kodu incelemek. Açıkça, açık ve iyi örnek olduğunu düşündüğünüz bazı açık kaynak kodlu R kodları (CRAN'da veya herhangi bir yerde) önerilebilir mi? Fonksiyonel iyidir, S3 nesneleri iyi, derin sihir kötüdür.Pedagojik amaçlar için gerçekten temiz ve açık [R] kodunun iyi bir örneği nedir?

cevap

6

Benim iki favori paketleri hem R-Forge tarama olabilir ve (onlar bir giriş için çok büyük olabilir), ancak çok iyi belgelenmiştir:

Ben Google style guide onun paketleri bakıyorsanız okunabilir Hadley has his own style guide rağmen, Çekirdek ekibin tarzını yakalama işini iyi yapıyor düşünüyorum. Sen özellikle Github (and his homepage is full of useful content) üzerine browse Hadley's packages edebilirsiniz:

Bu article on the R-Wiki is also a good read kod optimize etmenin yollarını görmek için.

+0

Eh, ben caret ve zelig baktım, ve çoğunlukla, onlar hiç de iyi yorumlanmış değil. Caret yorumlarda bir geliştirici gibi görünüyor, ancak bu konuda. Ben ggplot2 bağırsakları ile oldukça tanıdık ve kullanmak için harika bir paket olmasına rağmen ve kodu çoğunlukla zarif ve nispeten iyi yorumlanmış, bu çok zor gözüken proto nesneleri ve dinamik fonksiyonlar kullanır, bu yüzden düşünemiyorum Okur yazar. İyileştirme, iyi kodlamanın dışında kalmanın ötesinde, ayrı bir konudur. Hadley'nin diğer paketlerine bakacağız ... – Harlan

+2

Paketlerimden - daha yeni daha iyi. Ben plyr ve (çok yeni) 'stringr 'tavsiye ederim. Bence, büyük ölçüde iyi yazılmış ve zarifler. Kodumun kalitesi, başkalarına iyi kod yazmayı öğretmeye başladığımdan sonra gerçekten iyileşti! – hadley

2

Kesinlikle ilgili değil, ancak Kaynak Denetimi (performans, subversion, git, rcs, vb.) Işlevini olabildiğince çabuk kullanmaya alıştığınızdan emin olun. Bu öğrenme acısını azaltır.

+0

Evet, iyi tavsiyeler. Takıma katılmadan önce biliyorlardı ve git kullanıyorlardı ... – Harlan

İlgili konular