我有很多R源文件。例如,在A.R
和C.R
个文件中,B.R
都是通过source()
加载的。现在我想使用A.R
和C.R
中的功能,如何避免重复采购B.R
?在C / C ++中是否有类似的保护机制?
答案 0 :(得分:7)
如果B.R已经在其中设置了一个具有相当唯一名称的函数或数据,则可以将其用作警卫。否则,只需定义一个:
B.R
B_is_loaded <- TRUE
# The normal B stuff
A.R:
if(!exists("B_is_loaded")) source("B.R")
# Now you can call the stuff in B