R パッケージを作成し、CRAN に提出しました。CMD チェック出力 1 注:
楽しい: グローバル変数 'id' の目に見えるバインディングがありません
CRAN は、私がそれを修正することを提案しました。
fun() (私の関数の 1 つ) は、別のソフトウェアによって作成されたファイルを読み取るためのカスタム インポートです。これらのファイルは非常に大きなデータセットです。したがって、インポートを最適化しているので、パフォーマンスを向上させるだけでなく、foverlaps() などの後続の関数を実行するために必要な data.table と set key を使用します。
私は使用しています:
data.table::setDT(dataImport)
data.table::setkey(dataImport, id)
setkey() がこのメモを作成するのはなぜですか?
メモを作成せずにキーを設定するにはどうすればよいですか?
次の QA ( data.table にキーを設定する目的は何ですか? ) は、setkey() を理解するのに非常に役立ちますが、これも 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)
}