2015-03-18 124 views
1

我正处在从MATLAB过渡到R的痛苦过程中,并且还没有找到整齐排列的MathWorks网站进行咨询。RStudio中的“隐藏”功能

编写MATLAB函数时,它们存储在本地驱动器中,可以在我的源代码中访问(只要该函数位于活动目录中)。在R中编写函数时,我需要“运行”它,因此它存储在全局环境中,然后我可以使用它。当然,这样做有一个'更好'的方法,因为我需要参考许多功能。我可以看似“隐藏”它们吗,所以我不必看到它们,但总是知道它们存在?

在此先感谢

+7

'?source' ....? – 2015-03-18 21:56:29

+6

创建[package](http://www.statmethods.net/interface/packages.html) – mnel 2015-03-18 22:02:16

+1

您也可以创建一个或多个从当前目录运行的'.Rprofile'文件。有关许多详细信息和选项,请参阅“启动”。我相信RStudio使用的项目系统可能允许量身定制'.Rprofile'文件,尽管我承认自己并不熟悉它使用的确切机制。 – 2015-03-18 22:35:19

回答

2

source('F:\\RWorkingDirectory\\my_functions.r')或创建您自己的R包,它是很容易做到Rstudio。

+1

对于初学者,您可以通过提及您从别人的评论中拿走所有内容来展示一些礼貌。其次,创建一个包并不是很“容易”。 – 2015-03-18 22:32:59

+0

对不起,我不是故意要拿任何人的功劳。我只是想让个体将包含在代码中的实际语句形象化,这会更有意义。如果您可以创建功能,使用Rstudio中的新更新,那么您只需单击构建并以二进制形式导出,然后在几秒钟内通过命令行进行安装。 – user2600629 2015-03-18 22:35:55

+0

我不认为从评论中抽取任何错误,即使是未提交的(如果我想发布我可以有的答案)。但我会鼓励你*不*鼓励OP使用绝对路径:适当地设置工作目录,然后'source(“my_functions.R”)'通常更好。我能想到的唯一反例是如果你想存储所有的功能,并在全球范围内用于许多不同的项目;在这种情况下,尽管你可能会更好地创建一个包,从长远来看。 – 2015-03-18 22:40:24

1

感谢您的建议。我决定改为建立一个环境。

例如,

  1. 设立研发脚本我需要的功能(S)称为MainFunctions.R
  2. 添加到.Rprofile
e <- new.env() 
source("MainFunctions.R",local=e) 
attach(e) 

现在我需要简单地编辑这个文件,而不用担心必须加载它们,或者创建一个包。