对象创建时间戳

Zac*_*ach 17 timestamp r object

有没有办法检索创建对象的时间?

Dir*_*tel 14

一般情况下,但您可以通过自己创建的对象来执行此操作

R> df <- data.frame(a=sample(LETTERS[1:5],10,TRUE),b=runif(10))
R> attr(df, "createdAt") <- Sys.time()
R> df
   a         b
1  B 0.8437021
2  D 0.8683446
3  B 0.5194791
4  B 0.0480405
5  B 0.5604978
6  C 0.1938154
7  A 0.1451077
8  D 0.1785405
9  C 0.3937795
10 B 0.2874135
R> str(df)
'data.frame':   10 obs. of  2 variables:
 $ a: Factor w/ 4 levels "A","B","C","D": 2 4 2 2 2 3 1 4 3 2
 $ b: num  0.844 0.868 0.519 0.048 0.56 ...
 - attr(*, "createdAt")= POSIXct, format: "2011-03-16 10:42:10.137434"
R> 
Run Code Online (Sandbox Code Playgroud)

然后你可以自己写一些使用该属性的自定义print()或show()函数.Frank Harrell的rms及其设计前身已经做了类似的事情很长一段时间了.


Spa*_*man 10

简答:不.

答案很好:是的,您需要做的就是重写R的C核心中的赋值代码,以便在每次更改对象时在某处存储日期戳.我尝试了一次,将数据存储在一个属性中,就像其他答案一样,但它有不同的副作用,使相同的对象不同.x = 1且y = 1具有不同的时间戳,因此相同的(x,y)为FALSE并且以宏伟的方式破坏了R的测试.我放弃.