Soru:
Tekrarlanabilir araştırma stratejilerinin karşılaştırılması: brew veya Sweave ile R2HTML
Tal Galili
2011-09-21 17:30:58 UTC
view on stackexchange narkive permalink

Bu biraz daha "bunun hakkında düşün" sorusu - ama sorulması gereken önemli bir soru olarak görüyorum.

Son birkaç gündür daha tekrarlanabilir bir araştırma yapmakla uğraşıyorum- iş akışı gibi. Bir rapor yazmak için iki farklı strateji kafam karıştı.

İki strateji şunlardır:

  1. Tatlı veya mayalanma. Bazı biçimlendirme dilleri (HTML veya LaTeX) ve özel kaşlı ayraçlar arasında R kodu (örneğin << >> = @) içeren bir report.Rnw veya report.brew dosyası olduğunda. Rapor dosyasını (report.html veya report.tex) oluşturmak için bu dosyanın Sweave üzerinden çalıştırılması veya demlenmesi gerekir.
  2. R2HTML (HTML için) ve Hmisc (LaTeX için). .R dosyasının, report.html veya report.tex'i oluşturmak için R işlevlerini kullandığı yerde; R komutlarının çalıştırılması doğrudan raporu oluşturur.

Bana göre açık olan şey, çoğu insanın 1. seçeneği kullanıyor gibi görünmesidir. Ancak neden bu kadar yaygın olduğunu anlamıyorum. 2 bana (çok fazla deney yapmadan) daha az işe yarayacak gibi görünüyor.

İki stratejiden her biri ne zaman daha iyidir?

Based on your comment below, I'd suggest editing the question to take out your struggles with LaTeX, as that makes it feel like it's an HTML vs LaTeX question, and mentioning the Hmisc library in method 2 as a way of doing a similar thing but with LaTeX.
Merhaba Aaron, biraz düzenleyeceğim ...
Düzenlemeniz için teşekkürler. Hmisc'in ne yaptığını (ve diğer bazı küçük düzenlemeleri) daha net hale getirmek için düzenleme özgürlüğünü daha da ileri götürdüm; meslektaş incelemesini geçerse, sorunuzu hala doğru şekilde yansıtıp yansıtmadığına karar verebilirsiniz.
Just wanted to add org-mode with Babel as another way of achieving something sweave-like without the need to dig to deep into latex (or to use it as the starting point for finer latex tuning). Available in emacs.
Beş yanıtlar:
#1
+8
Aaron left Stack Overflow
2011-09-21 20:48:40 UTC
view on stackexchange narkive permalink

Aşağıdaki yoruma dayalı yeni cevap:

Anladığım kadarıyla 1. Yöntem, R kodunu ve HTML veya LaTeX'i aynı belgede Sweave veya brew kullanarak karıştırmaktır. , son bir belge oluşturmak için Yöntem 2, örneğin R2HTML veya Hmisc paketlerini kullanarak HTML veya LaTeX oluşturmak için R kodunu kullanmak ve ardından son belgeyi oluşturmak için yalnızca R kodunu çalıştırmaktır. Çoğunlukla 1. Yöntemi kullandım ama yine de tartacağım.

Gördüğüm kadarıyla bu gerçekten bir tercih meselesi; Birini diğerine tercih etmek için herhangi bir teknik veya istatistiksel neden görmüyorum; araştırmanızı tekrarlanabilir hale getirmenin her iki yolu da var.

Yöntem 1'in daha kolay olduğunu düşünüyorum çünkü LaTeX'i veya HTML kodunu oluşturan R işlevlerinin ne olduğunu bilmek zorunda değilsiniz; sadece R kodu yazarsınız ve HTML veya LaTeX kodu yazarsınız ve yazılım bunları bir araya getirmeye özen gösterir. Bu, özellikle R çıktısı son belgenin yalnızca küçük bir miktarı olduğunda geçerlidir; Örneğin, çok sayıda metin çıktısı almak için gerekli olan R kodunu yazmak zor olabilir. Akıllı metin editörlerinde, R2HTML veya Hmisc kullanırken elde edemediğiniz her kod türü için doğru sözdizimi biçimlendirmesini de elde edersiniz. Bu yöntem, bence sonuçları yorumdan daha net bir şekilde ayırıyor.

Ancak, kısa parçacıklar için veya yorum içermeyen bir komuttan sonuçların çıktısını almak için R2HTML veya Hmisc kullanmak daha kolay olabilir ( benim deneyimlerime dayanarak), Sweaving alışkanlığı edindiğinizde asla geri dönemeyeceksiniz.

Aaron cevabın için teşekkürler. Sorunun HTML ve LaTeX arasında değil, raporun yazılması ile içinde R kodunun bulunması ile raporu oluşturmak için kod içeren R kodunun yazılması arasında olduğuna dikkat edin. Belki açıklamak için bir örnek bulmalıyım - ama zaman ayırıp cevap verdiğiniz için teşekkürler ...
Görünüşe göre, hem Aaron hem de sorunuzu aynı şekilde okuduk. Açıklamak için bir örnek düşünürdüm ve umarım daha fazla yardımcı olabiliriz.
@TalGalili: yorumunuza göre düzenlenmiştir; ayrıca, bunu soruya eklemeyi düşünün, ayrıntılar için soruya yaptığım açıklamaya bakın.
Aaron - thank you for the updated answer. I generally agree with your answer. I'll need to think more about the Sweaving...
#2
+6
Jeromy Anglim
2011-09-22 04:06:14 UTC
view on stackexchange narkive permalink

Bunlar sadece birkaç nokta.

  • Yalnızca basit raporlar yazmak istiyorsanız, öğrenmeniz gereken LaTeX komutları, yapmak istediğinizden çok daha küçüktür. karmaşık şeyler.
  • LaTeX'in bazı basit işaretleme sistemlerine göre çekici bir yönü, referanslama, otomatik numaralandırma, çok sayfalı tablolar, çekici tip ayarı gibi özellikler istiyorsanız, bu özelliklerin kullanılabilir olmasıdır. Özellikle, başlangıçta aklıma bile gelmeyen özellikler oldu, ancak ihtiyaç duyduğumda LaTeX'te paket olarak kullanıma sunuldu.
  • Nihai raporunuzu farklı bir şekilde istiyorsanız HTML veya rtf gibi biçimlendirirseniz, lateksi bu biçime dönüştürmek için pandoc gibi çeşitli dönüştürme programlarını kullanabilirsiniz.
1. nokta güven verici :)
#3
+3
Abhijit
2011-09-22 07:09:51 UTC
view on stackexchange narkive permalink

LaTeX veya Sweave / odfWeave / asciiWeave paradigmasındaki başka bir işaretleme ile ilgili potansiyel olarak diğer güzel şey, tekrarlanan raporlar için onu biraz daha iyi şablonlayıp sonra şablonu yeniden kullanabilmenizdir. Örnek olarak Harrell'in rapor paketine bakın

#4
+2
Fomite
2011-09-21 22:07:50 UTC
view on stackexchange narkive permalink

İkisini de kullanırken oldukça güvendesin - ama ikisini de kullanmadığımı itiraf etmeliyim. LaTeX / Sweave yönteminin popülaritesinin birincil nedeninin, LaTeX tabanlı bir sistemi kullanmayı teşvik eden birincil kağıt / sunum / el yazması formatı olarak LaTeX'i kullanan alanların sayısı olduğundan şüpheleniyorum. .Html son ürünün tüm bu kadar doğrudan yararlı olduğu tek bir alan bilmiyorum.

saha gereksinimleri nedeniyle lateksin popülaritesi hakkında bilmiyorum. Neredeyse hiçbir yerin metin almadığı bir alanda (psikoloji) çalışıyorum ve yine de kullanıyorum (tablo çizmekten ve manuel olarak biçimlendirmekten kaçınmak için). Bence popülaritesinin her şeyden çok yaşıyla ilgisi var.
@richiemorrisroe Her ne sebeple olursa olsun onu kullanan kesinlikle bazı insanlar var - hoşlarına gidiyor, manuel biçimlendirmeyi sevmiyorlar, her neyse. Bununla birlikte, alanlar arasında atlayarak, neredeyse * hiçbir zaman * LaTeX (benim) kullanmayan alanlara ve bir zamanlar "Yayınlanacaksa, LaTex'te olması gerekir" iddia edildiği alanlara rastladığımı buldum. Bu konuşma, AJE'nin gönderim yönergelerinin bir kopyasını yazdırmak zorunda kalmamla sonuçlandı.
Bazen LaTeX'in ağır sahalarından birinde çalışmış olmayı diliyorum, bu bana doktorluğum boyunca çok fazla zaman ve güçlük kazandıracaktı.
#5
+1
M Adams
2011-09-23 14:01:16 UTC
view on stackexchange narkive permalink

1. seçeneğin bu kadar yaygın olmasının nedeni ... çok yaygın olmasıdır. Sweave, 10 yılı aşkın bir süredir piyasadadır ve birçok R kullanıcısı için tekrarlanabilir araştırmalarla eş anlamlıdır. Dahası, 'tekrarlanabilir araştırma' ifadesini duyan ve 'kulağa harika geliyor' diye düşünen insanların LaTeX'e aşina olması muhtemeldir. Bu nedenle, iki seçenek arasında seçim yapıyorlar gibi değil, çünkü çoğu kişi 2. seçeneğin var olduğunu bile bilmeyecek.



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...