I hacked razem funkcję Emacs aby wysłaćAutomatycznie zawsze funkcje czasowe w R
tOne <- proc.time()[3]
przed kluczem mojego "send-to-R", a następnie
tTwo <- proc.time()[3]
później, następnie drukarskiej różnica. Druk staje się jednak dość brudny.
Czy istnieje lepszy sposób w R, aby automatycznie czas wysłania wszystkiego do R? (Takie jak w F # #time "on"
)
EDIT: Obecnie wysyła jakieś dodatkowe znaki nowej linii, ponieważ bufor gorszy potrzebuje struny do wysłania:
> > a<-ocorrelate.parallel(replicate(2, rnorm(100000)), 0.5)
>
+ user 0.072 sys 0.020 elapsed 14.925
> > a<-ocorrelate.parallel(replicate(2, rnorm(100000)), 0.5)
>
+ user 0.088 sys 0.032 elapsed 16.868
> >
Funkcja:
(defun ess-timed-cc (vis)
(interactive "P")
(process-send-string "R" "tone <- proc.time()[1:3];")
(ess-eval-region-or-function-or-paragraph-and-step vis)
(process-send-string "R" "ttwo <- proc.time()[1:3]; cat(paste(c(\"\",
format(ttwo-tone)), c(\"user\", \"sys\", \"elapsed\", \"\n\")));")
(other-window 1)
(inferior-ess-send-input)
(inferior-ess-send-input)
(goto-char (point-max))
(other-window -1)
)
co jest nieporządne w druku? – eddi
@eddi Zaktualizowano odpowiedź. – PascalVKooten
Rozumiem, czy możesz również dodać funkcję (funkcje) emacsa, której używasz do uzyskania tego wyniku? – eddi