[Rd] pattern in history
Romain Francois
francoisromain at free.fr
Tue Apr 11 14:41:43 CEST 2006
Le 11.04.2006 14:12, Prof Brian Ripley a écrit :
> That's an interesting suggestion, but
>
> 1) it is not a good idea to change the order of arguments in a function.
Yes, my mystake. It's because i like to call 'history(something)'
directly and not 'history(pattern=something)'.
I hadn't in mind the possibility to break existing code.
> 2) is the 'unique' argument useful? I cannot see it being used if
> there is no pattern search, nor I do see the merit in showing repeated
> lines if I have subselected.
>
> 3) like ls(), testing if 'pattern' were missing or NULL would be a
> better idea.
Right.
There is also a problem with the order of the calls.
If I do :
> ls()
> l <- mean(rnorm(50))
> ls()
> history(pattern="^l")
it prints :
ls()
l <- mean(rnorm(50))
when it should print :
l <- mean(rnorm(50))
ls()
We can use rev twice (like in history3 below), but is it worth it ?
history3 <-
function (max.show = 25, reverse = FALSE, pattern, ...)
{
file1 <- tempfile("Rrawhist")
savehistory(file1)
rawhist <- scan(file1, what = "", quiet = TRUE, sep = "\n")
if(!missing(pattern)) rawhist <- rev( unique(
rev(rawhist[grep(pattern, rawhist, ...)] ) ) )
unlink(file1)
nlines <- length(rawhist)
inds <- max(1, nlines - max.show):nlines
if (reverse)
inds <- rev(inds)
file2 <- tempfile("hist")
write(rawhist[inds], file2)
file.show(file2, title = "R History", delete.file = TRUE)
}
--
visit the R Graph Gallery : http://addictedtor.free.fr/graphiques
mixmod 1.7 is released : http://www-math.univ-fcomte.fr/mixmod/index.php
+---------------------------------------------------------------+
| Romain FRANCOIS - http://francoisromain.free.fr |
| Doctorant INRIA Futurs / EDF |
+---------------------------------------------------------------+
More information about the R-devel
mailing list