Zacząłem używać pakietu graficznego lattice
, ale natknąłem się na problem. Mam nadzieję, że ktoś może mi pomóc. Chcę wykreślić histogram za pomocą odpowiedniej funkcji.Krata pakietu R nie będzie działała, jeśli uruchomiona przy użyciu źródła()
Oto plik foo.r
:
library("lattice")
data <- data.frame(c(1:2),c(2:3))
colnames(data) <- c("RT", "Type")
pdf("/tmp/baz.pdf")
histogram(~ RT | factor(Type), data = data)
dev.off()
Kiedy uruchomić ten kod przy użyciu R --vanilla < foo.r
działa wszystko w porządku.
Jednakże, jeśli używam drugi plik bar.r
z
source("bar")
i uruchomić R --vanilla < bar.r
kod powoduje błędną plik pdf. Teraz dowiedziałem się, że source("bar", echo=TRUE)
rozwiązuje problem. Co tu się dzieje? Czy to błąd, czy też coś mi brakuje?
Używam R w wersji 2.13.1 (2011-07-08) z lattice_0.19-30
Wow, to było szybkie!Wiele czasu zajęło mi odkrycie, jaki jest faktyczny problem. Wielkie dzięki! To działa: '... print (histogram (~ RT | współczynnik (typ), dane = dane)) ...' – woobert
Powinno to mieć zastosowanie do funkcji 'plot()' z pakietu 'graphics' ? Widzę podobne zachowanie, ale to chyba nie naprawi .. – naught101
Ahh. 'działka 'działa * bez * polecenia print, ale przed wykreślaniem musisz użyć dev.new() lub podobnego. – naught101