我创建了一个 R 包并将其提交给 CRAN。CMD 检查输出 1 注意:
有趣:全局变量“id”没有可见的绑定
CRAN 建议我修复它。
fun() (我的功能之一)是一个自定义导入,用于读取由另一个软件创建的文件。这些文件是非常大的数据集。因此,由于我在优化导入,所以我使用 data.table 和 set key,这不仅有助于提高性能,而且是运行后续函数所必需的,例如 foverlaps()。
我在用着:
data.table::setDT(dataImport)
data.table::setkey(dataImport, id)
为什么 setkey() 会创建这个笔记?
如何在不创建注释的情况下设置密钥?
下面的 QA(What is the purpose of setting a key in data.table?)对于理解 setkey() 非常有用,但无论是 this 还是 data.table 文档似乎都没有提供任何提示(我发现)这个具体问题。谢谢
如果我遇到此问题的功能的要点,请在下面更新。
readoqcsv <- function(x) {
dataImport <- utils::read.table(file = x,
header = TRUE,
sep = "," ,
dec = "." ,
colClasses = c("character",
"integer",
"character",
"character",
"integer",
"NULL",
"NULL",
"NULL",
"integer",
"NULL",
"NULL",
"NULL",
"NULL",
"factor",
"NULL",
"NULL",
"NULL",
"NULL",
"NULL"),
comment.char = "")
data.table::setDT(dataImport)
dataImport$timeStampO <- strptime(dataImport$timeStampO, "%m/%d/%y %H:%M")
dataImport$session_started <- strptime(dataImport$session_started,"%m/%d/%y %H:%M")
dataImport$session_finished <- strptime(dataImport$session_finished,"%m/%d/%y %H:%M")
dataImport$id <- c(1:nrow(dataImport))
以下是(如果运行)导致注意的行:
# data.table::setkey(dataImport, id)
return(dataImport)
}