首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.First()不执行;win7 Rgui

.First()不执行;win7 Rgui
EN

Stack Overflow用户
提问于 2019-09-04 13:25:41
回答 1查看 35关注 0票数 0

在.Rprofile中(第一行复制自?启动示例):

代码语言:javascript
复制
.First <- function() cat("\n   Welcome to R!\n\n")
foo <- "bar"

我看不到欢迎文本。下面显示了.Rprofile的执行情况。

代码语言:javascript
复制
ls()
[1] "foo"

显然,.First()不会执行。你知道为什么不吗?

我在Rv3.6.1 x64的win7pro上的Rgui控制台上运行。

我已经知道我不能在.First()中做我想做的事情,但我仍然想知道为什么它甚至不能执行。我可能想在将来用它做点什么。我没有做任何花哨的配置更改,而是通过Rgui.exe的快捷方式启动控制台。

EN

回答 1

Stack Overflow用户

发布于 2019-09-04 23:57:52

解决方法:早些时候,我在.First()中有糟糕的代码。在排除故障时,我使用以下命令清理了工作区

代码语言:javascript
复制
rm(list=ls())
q('yes')

这样,赋值foo<-"bar"可以更清楚地显示.Rprofile正在执行。我没有意识到的是,错误的.First()被保存在.RData中的某个隐藏环境中。在那之后,无论我在.Rprofile中用.First()做了什么,它总是被替换成坏的那个。为了解决这个问题,我只需要删除.RData。

更新:.First()没有进入隐藏环境,但是开始点使它对ls()隐藏。要退出一个完全干净的工作区,代码应该是:

代码语言:javascript
复制
rm( list=ls(all.names=T) )
q('yes')

这需要大量的打字工作。将来,我想我会直接删除.RData。

对我来说,这似乎很像是一个bug。无论何时在.Rprofile中更改.First(),都需要从使用R的每个文件夹中删除.RData,或者在每个文件夹中执行rm(.First)和`q('yes')。这只会让我们错过一些东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57781968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档