R中.Last.value的缩写?

R中.Last.value的缩写?,r,R,R中的命令对于快速计算很有用,但名称很长且难以编写(可能是因为不应覆盖.Last.value)。因此,从上面的行复制粘贴数字通常更快 124/pi # [1] 39.47043 .Last.value^2 # [1] 1557.915 我知道这是可能的,但对于.Last.value这似乎不起作用: 1+1 # [1] 2 .Last.v + 1 # Error: object '.Last.v' not found 是否有更方便(更短/更快/更好)的方法从R控制台中提取最后一个值?您可以使用

R中的命令对于快速计算很有用,但名称很长且难以编写(可能是因为不应覆盖
.Last.value
)。因此,从上面的行复制粘贴数字通常更快

124/pi
# [1] 39.47043
.Last.value^2
# [1] 1557.915
我知道这是可能的,但对于
.Last.value
这似乎不起作用:

1+1
# [1] 2
.Last.v + 1
# Error: object '.Last.v' not found

是否有更方便(更短/更快/更好)的方法从R控制台中提取最后一个值?

您可以使用闭包捕获该值并将其放入.Rprofile中。例如:

lv = function () .Last.value

然后在需要使用.Last.value的任何地方调用
lv()。希望您只在交互模式下使用它,而不在脚本中使用它

创建一个类似于
LV的函数这方面的经典答案是Verzani在这里的评论:哈@阿南达和我几乎同时回答。+1表示同样的想法:-)如果四个符号太长,则可以进行活动绑定:makeActiveBinding(“a”,lv,.GlobalEnv),然后键入“a”查看最后一个值。@asb这是最好的解决方案,直到R-studio团队快速双击向上箭头来执行相同的技巧或某事=)顺便说一句,我明白你的意思,但代码不能按原样工作。无法将函数分配给
()
。你能把你对
lv的回答改成我使用
makeActiveBinding(“.”,function().Last.value,env=globalenv())
吗?这样我就可以像Ruby和Python一样使用