在检查一个 R 包时,我收到了警告
Warning: object 'xxx' is created by more than one data call
这是什么原因造成的,我该如何修复?
当在软件包的data
目录中有多个存储相同名称变量的RData
文件时,会出现此警告。
要复现这个问题,我们创建一个软件包并将cars
数据集保存两次,存储到不同的文件中:
library(devtools)
create("test")
dir.create("test/data")
save(cars, file = "test/data/cars1.RData")
save(cars, file = "test/data/cars2.RData")
check("test")
check
的输出包括以下行:
找到以下重要警告: 警告:对象“cars”由多个数据调用创建
如果收到此警告,您可以使用以下方法查找重复的变量名称:
rdata_files <- dir("test/data", full.names = TRUE, pattern = "\\.RData$")
var_names <- lapply(
rdata_files,
function(rdata_file)
{
e <- new.env()
load(rdata_file, envir = e)
ls(e)
}
)
Reduce(intersect, var_names)
## [1] "cars"
cars1
、cars2
等。选择哪种方式取决于用户使用起来最方便。 - Richie Cotton