[R] A shorter version of ".Last.value"?

Peter Dalgaard p.dalgaard at biostat.ku.dk
Mon Jul 7 20:18:07 CEST 2008


Jon Zadra wrote:
> Hi,
>
> There is an object, ".Last.value" to which the result of the most 
> recent evaluation is assigned.  This is similar to "ans" in Matlab.  
> In Matlab "ans" can be very useful and time-saving, but typing the 
> larger R version is somewhat clunky and takes away from the usefulness.
>
> Is it possible to reassign '.Last.value' to something simpler, like 
> 'ans' ?
>
> I'm aware of this thread: 
> http://tolstoy.newcastle.edu.au/R/help/00b/1598.html, where a function 
> such as:
>
> ans <- function() {
>  return(.Last.value)
>  }
>
> is discussed, however it would be nice not to have to type the () 
> every time.  Is it possible to change something in R to essentially 
> replace the location where ".Last.value" has the recent evaluation 
> assigned to it with 'ans' instead?  Or might it be possible to make an 
> object 'ans' that updates its value from ".Last.value" each time it is 
> called?
Luke will probably want to murder anyone trying these silly tricks with 
nonstandard evaluation, but here's one way:

 > .<-structure(0,class="ans")
 > "!.ans"<-function(e1,e2).Last.value
 > rnorm(10)
 [1] -1.16906125  0.06507857  0.08435672 -0.95936948 -1.46486146  1.01636505
 [7] -0.54111611 -0.21457016  0.35078126  0.67347097
 > !.
 [1] -1.16906125  0.06507857  0.08435672 -0.95936948 -1.46486146  1.01636505
 [7] -0.54111611 -0.21457016  0.35078126  0.67347097

However, I'd settle for .La<TAB>v<TAB> ....


-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)              FAX: (+45) 35327907



More information about the R-help mailing list