outqin
R系统默认应该没有记录各个对象生成的时间点这个过程,但应该可以通过撰写函数的方式来实现。
这个记录变量生成时间,差不多相当于日志记录的功能,最简单的我想到的,你可以写一个logger函数,然后把赋值的操作在这个log函数里面进行。
下面是一个简单的实现,
logtime = NULL
logname = NULL
logger <- function( exp ,env = parent.frame()){
temp = as.list(substitute(exp))
assign(x = as.character(temp[[2]]), value = temp[[3]], envir = env)
assign(x = "logname", value = c(env$logname,as.character(temp[[2]])), envir = env)
assign(x = "logtime", value = as.POSIXct(c(env$logtime,Sys.time()),origin = "1970-01-01"), envir = env)
}
logger( xx <- 22 )
> ls()
[1] "logger" "logname" "logtime"
> logger(xx<-22)
> ls()
[1] "logger" "logname" "logtime" "xx"
> xx
[1] 22
> logname
[1] "xx"
> logtime
[1] "2014-12-11 23:02:49 CST"
> logger(yy<-11)
> data.frame(logtime,logname)
logtime logname
1 2014-12-11 23:02:49 xx
2 2014-12-11 23:03:43 yy