【发布时间】:2019-11-01 18:49:07
【问题描述】:
我有一个如下所示的 R 类
source("data_validation.R")
data_validation.mymodel <- function(mymodel,newdata=list()) {
data_validation(newdata)
}
我有一个名为data_validation 的函数,我需要从另一个文件中调用另一个函数,该文件是同名文件。但它给了我一个错误,因为它具有相同的名称,所以在另一个文件中找不到该函数。如何在data_validation.R 文件中为我的函数设置别名,以便我可以轻松区分这两个函数(即类似于 python 的东西,我可以说 import data_validation as dv)
【问题讨论】:
-
“来自另一个文件的函数...同名” 除非它们被加载到不同的命名空间/环境中,否则不会发生。可以区分(例如)
lag和包stats和dplyr的原因是通过双冒号引用:stats::lag与dplyr::lag。如果将同名函数加载到命名空间中,则每次都会覆盖该命名空间中的旧版本。 -
双冒号仅适用于包,不适用于我使用源导入的文件,对吗?
-
是的,这就是为什么
sourceing from files 没有让您有机会在加载第二个时不覆盖。 -
所以在这种情况下没有选项?
-
我已经多次寻找模仿 python 的
import pandas as pd的解决方案,但什么都没有。
标签: r