Bir R işaretleme dosyası ile, çıktı dosyası adının belgede tanımlanması gereken farklı olası çıktı pdf belgeleri oluşturmak istiyorum. Çıkış dosya ismini böyle bir şekilde işlemek için işaretlemeyi ikna etmenin bir yolu var mı? İdeal olarak dosya ismini bir parça ile geçirmek istiyorum.R Markdown - değişken çıktı adı
cevap
rmarkdown::render
olduğunu). Oluşturma işlevinin output_file
parametresi, dosya adını belirtir, böylece, ayar dosya adıyla aynı öneki kullanmanın standart davranışını geçersiz kılar.
örn. slidify ile here görüldüğü gibi hep çıkışa bir dosya,
knit: (function(inputFile, encoding) { rmarkdown::render(inputFile, encoding = encoding, output_file = file.path(dirname(inputFile), 'myfile.pdf')) })
fonksiyon isimsiz bir liner yanı sıra bir paket ithal olabilir myfile.pdf çağırdı.
Kendi YAML üstbilgilerinizi (bunun genel olarak önerilip belirtilmediğini bilmiyorum), rmarkdown::metadata$newheader
numaralı telefondan erişebilirsiniz, ancak görebildiğim kadarıyla bu tür bir işlev içinde görünmezler.
Dosya ismini bir Y ögesinden aktarmaya gelince ... YAML başlığının altındaki kod parçalarına atıfta bulunuyorsanız, bence bu mümkün değil (?). Üstbilgiler, satır içi R komutlarını (r
ile başlayan, tek bir backtick-kapalı) içerebilir, ancak görünüşte bu kanca işlevi için değil.
:
-
- Ne @ilya takip etmek
on more elaborate uses of the
knit:
hook/
GitHub wiki notes
rmarkdown :: metadata $ title <- "Başlığım" hatası: object 'rmarkdown' bulunamadı – jzadra
@yihuixie, params geçebilir miyim Çıktı dosyası isimleri ne olursa olsun $? İşaretlemem, ilgili veri dosyasını almak için param $ data kullanıyor, ancak bu sizin tek liner - "params $ data found found" içinde çalışıyor gibi görünmüyor. Ben bir komut dosyasından, rmarkdown :: render (params = liste (data = "Oct2017data"), output_file = "Oct2017_analysis.html") 'dır, ancak açıkçası sadece bir kez yazabilmek istiyorum. – StasK
Bu hemen hemen benim yaptığım:
rmarkdown::render('my_markdown_report.Rmd',
output_file = paste('report.', Sys.Date(),
'.pdf', sep=''))
Üç komut dosyaları var - Bir veri ve süreç o rapor için ikinci oluşturulan grafikler & tablolar çeker. Üçüncüsü, markdown dosyasına dayalı rapor oluşturur. Yukarıda gördüğünüz kod üçüncü senaryonun parçasıdır
Sen düğmenin ne yeniden tanımlamak için denir (varsayılan işlevini belgesizknit
kanca kullanarak bir YAML başlığının RStudio
Knit
düğmesi ve tekrarlanabilirlik kullanarak basitliğini tutabilir
Şimdiye kadar sadece bazı markdown dosyalarını derlemek için RStudios knit komutunu kullanıyordum.Seni doğru anlarsam, R komutlarını kullanarak gerçek markdown dosyasını yaratırsın ve hatta R komutlarını kullanarak işaretlemenin örgüsünü yönlendirir misin? Bu yaklaşımın bugüne kadar farkında değildim, ama daha yakından bakacağım. Şimdiye kadar verileri hazırlıyordum ve bunu ilk senaryoda işlemekteydim, ancak zaten ikinci adımda el ile bir işaretleme dosyası oluşturdum. Bazı raporlara çeşitli veri kaynakları. – Sosel
Evet. Markdown dosyası kendi başına ayrı bir betiktir, veri yerlerinin çizelgeleri ve tabloları birlikte okur. Ancak, dış komut dosyasından çağrılır - Rstudio'dan başlatabilir/çalıştırabilir ve aynı ada sahip bir dosya yaratabilirsiniz. Ancak ayrı bir komut dosyası olarak adlandırıyorum ve rmarkdown oluşturduktan sonra pdf oluşturuyor sonuç dosyası – ilya
gelen bu soruya şu yazdığım output format-specific output_file
http://www.reed.edu/data-at-reed/software/R/markdown_multiple_reports.html
web sayfası iki komut, bir R senaryo ve çoklu raporlar oluşturmak için bir Rmarkdown komut dosyası kullanır. Kendi çalışmam için bir şablon olarak kullandım ve çok kullanışlı buldum.
Komutunuzu gönderebilir misiniz? dosyaları "dinamik olarak" adlandırmak ister misiniz? paste0 ("dosya _", x, ". pdf")? 'x bir tarihin veya bir veri kümesinin adı olabilir – rmuc8
Şimdiye kadar, daha fazla ayrıntıya bakmadan örgü komutunu gerçekleştirerek RStudio kullanıyordum. Ama ilyas cevabına daha yakından bakmalıyım, daha net bir yaklaşım gibi görünüyor. – Sosel