SORU
26 Mayıs 2012, CUMARTESİ


R veri yapısı SSS biçimlendirme için

Texinfo R FAQ source okuma ve eğer R bir yapı olarak ayrıştırılmış olsaydı yönetmek ve genişletmek için daha kolay olacağını düşünüyorum. Çeşitli örnekler mevcut bununla ilgili

  • fala paketi

  • bibtex girişleri

  • Rd dosyaları

bazı istenen özellikleri ile her.

Bana göre, SSS olan pek az R topluluk çünkü onlar eksikliği) kolay erişim R komut satırı (yani bir R paketi); ıı) güçlü arama fonksiyonları; iii) çapraz referanslar; ıv) uzantıları için katkıda paketleri. Paketleri bibtex fikirler çizim ve fortunes, yeni bir sistem tasavvur edebiliriz:

  • Sıkça sorulan sorular fortune() arabirim benzer R. Tipik aramalar aranabilir: faq("lattice print") ya faq() #surprise me!, faq(51), faq(package="ggplot2").

  • Paketleri kendi biçimini net değil FAQ.rda, (aşağıya bakınız) sağlayabilir

  • 14* Sweave/*sürücüler çıktı güzel/Lateks, vb biçimlendirilmiş bir fiyat indirimi sağlanmıştır.

SORU

İyi bir şey olduğundan emin değilimgirişbiçimi, ancak. Yeni girişler eklemek için varolan SSS dönüştürmek için, ya da.

Hantal iç içe geçmiş listeleri bir ağaç (veya/S4/S3 ad hoc ref class structure, . R sözdizimini kullanmak için oldukça

\list(title = "Something to be \\escaped", entry = "long text with quotes, links and broken characters", category = c("windows", "mac", "test"))

Rd Dokümantasyon, R yapısı Tek başına (daha kendi çözümleyici ile Lateks bir alt kümesidir) olsa bile, belki bir giriş biçimi daha çekici bir örnektir. Ayrıca, geçerli amacı özel ve farklı değil Ancak R. tools to parse the structure kümesi, R fonksiyonları, SSS girdileri genel belgelerine yönelik olmak zorundadır. Onun sözdizimi ideal değil, daha modern bir işaretleme, fiyat indirimi gibi bir şey, daha okunabilir olacağını düşünüyorum.

Bir şey daha var, R yapılarına bir fiyat indirimi dosyaları ayrıştırma örnekleri olabilir mi? Hedeflenen amaçlar doğrultusunda uzak Rd dosyaları sapan bir örnek?

Özetlemek gerekirse

Gelmek istiyorum:

1 - SSS öğeler gibi daha genel girişler için fortune paket uzanacak O R yapısı (sınıf, belki de) için iyi bir tasarım

2 - yeni SSS girmek için daha uygun bir format (mevcut texinfo biçimi yerine)

3 - bir ayrıştırıcı, ya da R yazılı veya başka bir dil (bizon?) yeni yapı, mevcut SSS dönüştürmek (1), ve/veya yeni giriş biçimi (2) R yapıya.

Güncelleme 2: ödül döneminin son iki günde iki cevap var, ilginç ama tamamen farklı. Soru oldukça geniş (muhtemelen kötü sorduğu, cevap hiçbiri tam bir çözüm sağlamak için, böylece (şimdilik) bir cevap olarak kabul etmeyeceğim. Lütuf, lütuf süresi dolmadan önce cevap çok oy için, paylaşmak için bir yol vardı isteyen daha eşit bağlıyorum.

CEVAP
2 HAZİRAN 2012, CUMARTESİ


(Bu noktada 3. adresleri)

Texinfo XML dosyası dönüştürebilirsiniz

wget http://cran.r-project.org/doc/FAQ/R-FAQ.texi
makeinfo --xml R-FAQ.texi 

ve sonra XML paketi ile okudum.

library(XML)
doc <- xmlParse("R-FAQ.xml")
r <- xpathSApply( doc, "//node", function(u) {
  list(list(
    title    = xpathSApply(u, "nodename", xmlValue),
    contents = as(u, "character")
  ))
} )
free(doc)

Ama çok daha kolay bir metin dönüştürmek için

makeinfo --plaintext R-FAQ.texi > R-FAQ.txt

ve çözümleme sonucu el ile.

doc <- readLines("R-FAQ.txt")

# Split the document into questions
# i.e., around lines like ****** or ======.
i <- grep("[*=]{5}", doc) - 1
i <- c(1,i)
j <- rep(seq_along(i)[-length(i)], diff(i))
stopifnot(length(j) == length(doc))
faq <- split(doc, j)

# Clean the result: since the questions 
# are in the subsections, we can discard the sections.
faq <- faq[ sapply(faq, function(u) length(grep("[*]", u[2])) == 0) ]

# Use the result
cat(faq[[ sample(seq_along(faq),1) ]], sep="\n")

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • michaeljacksonVEVO

    michaeljacks

    2 EYLÜL 2009
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007