内部結合を使用して2つのdata.tableを結合しようとしています。一致するものが見つからない可能性があります。次に、右側のcol名を持つ空のdata.tableが必要です。data.table一致が見つからない場合、内部結合はエラーを生成します
dt1 <- data.table(A = c(1,2), B = c(1,2))
dt2 <- data.table(A = c(3,4), D = c(3,4))
setkey(dt1, A)
setkey(dt2, A)
dt1[dt2, nomatch = 0]
Error in xj[i] : invalid subscript type 'list'
merge(dt1, dt2,
all.x = F,
all.y = F)
Empty data.table (0 rows) of 3 cols: A,B,D
第2の方法は、私に望ましい答えを与えます。しかし、私はそれが速いので、最初の構文を好む。誰かがtrycatch文を使わずにこのエラーを解決する方法を知っていますか?
を使用して、あなたは、 'setkey'を使用する必要はありません'dt1 [dt2、on =" A "、nomatch = 0]'のようなコードに変換します。詳細は、[data.tableページ](https://github.com/Rdatatable/data.table/wiki/Getting-started)の自動インデックス作成のセクションを参照してください。 – lmo