SORU
13 Temmuz 2011, ÇARŞAMBA


ggplot'In qplot kaynak üzerinde çalıştırmak değil

Hadi 2 kaynak dosyaları, ilk example1.r adlı ve ikinci bir example2.r (aşağıda) var varsayalım.

example1.r

plot(1:10,1:10)

example2.r

qplot(1:10,1:10)

Ben example1 kaynak zaman.r, grafik çizilir. Ben example2 kaynak, ancak, yok.r. Çözüm nedir?

(example2 qplot.r ggplot2'In fonksiyonu)

CEVAP
13 Temmuz 2011, ÇARŞAMBA


Bu FAQ 7.22: Why do lattice/trellis graphics not work? ünlüdür.

Ggplot2 veya kafes gibi grid grafik için aslında çizmek için grafik nesnesini yazdırmak için gerekir.

Etkileşimli komut satırında bu otomatik olarak yapılır. Her yerde (kaynaklı içindeki dosyalar, döngüler, fonksiyonlar, Sweave parçalar) açıkça baskı gerekir.

print (qplot (1 : 10, 1 : 10))

Alternatif olarak, qplot baskı yapmak için tanımlayabilirsiniz:

qplot <- function (x, y = NULL, z = NULL, ...) {
  p <- ggplot2::qplot (x = x, y = y, z = z, ...)
  print (p)
}

(eksen etiketlerini x ve y için bu değişir).

Tam olarak etkileşimli oturum bir kullanıcı türü gibi kod yazmak istiyorum nereye nakışları bu yaklaşımı kullanıyorum.


EditYukarıda olduğu gibi cevap bırakıyorum. Ama bu geçici çözüm, IMHO tamamen artık demode (ve her zaman küçük tembel bir niş için iyi oldu) olduğunu unutmayın.

  • .R dosyaları:source's seçeneği print.eval=TRUE değerlendirme sonucu baskı davranışlara yol açacaktır etkileşimli komut satırı gibi.
  • .Rnw dosya:Varsayılan olarak knitr etkileşimli komut satırı wrt davranışlarını taklit eder. printıng. knitr R paket nakışları için Sweaving motoru olarak belirtilebilir unutmayın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • pucksz

    pucksz

    24 Mart 2006
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010