我的目标是更好地组织R代码完成的工作。
特别是将我编写的R代码拆分为不同的R文件可能很有用,也许每个R文件都可以完成不同的任务。我记得在Matlab中我们可以用不同的M文件做什么,我们可以直接从主代码中轻松调用用不同M文件编写的函数。
以函数的形式编写这个R文件是否有用? 我们如何在主代码中调用这些R文件/函数?
由于
答案 0 :(得分:2)
您可以使用source(“filename.R”)将文件包含在主脚本中。
我不确定是否有一个就绪函数来包含整个目录,但是使用list.files()编写它是很简单的,然后动态地为每个文件名调用source。您也可以将文件过滤为仅列出* .R,例如。
答案 1 :(得分:0)
您的方法可能会很好。我建议将代码包装在一个函数中,并使用一个R文件作为一个R函数。
查看旨在帮助组织R代码的软件包devtools和ProjectTemplate可能会很有趣。
答案 2 :(得分:0)
除非您打算编写R包,否则您应该重新考虑您的组织。 R是不 Matlab,谢天谢地!您可以将任意数量的函数放入单个文件中,并使用source foo.r
在您的环境中使它们全部可用。如果您正在编写一组通用函数并且不想构建一个包,那么这真的是更清晰的方法
作为一个想法,考虑通过添加更多输入参数使您的一些工具更灵活。您可能会发现您并不需要这么多单独的函数/文件。作为一个简单的例子,如果你有一些函数do_it_double
,另一个do_it_integer
,还有另一个do_it_character
,所有这些基本上都是一样的,只需将它们合并为一个{{1}并根据需要覆盖默认数据类型。 (我知道这可以通过内部输入验证完成。我只是举个例子)