11
空のdata.tableにfactor列がある場合、factor列は:= NULL
演算子では削除できません。整数列と文字列に問題はありません。エラーを生成しないDT[, char.letters := NULL]
とDT[, numbers := NULL]
こと空のdata.tableのfactor列を削除中にエラーが発生しました
Error in `[.data.table`(DT, , `:=`(factor.letters, NULL)) :
Can't assign to column 'factor.letters' (type 'factor') a value of type 'NULL' (not character, factor, integer or numeric)
注:
require(data.table)
DT <- data.table(numbers = integer(0),
char.letters = character(0),
factor.letters = factor(character(0)))
DT[, factor.letters := NULL]
は、私は次のエラーを取得します。
factor列は文字列と整数列とで動作が異なるため、これはdata.tableの問題ですが、間違っていますか?
編集:使用前の例では、(その後、join
と呼ばれた)空data.tableを作成するために参加、それは直接作成することによって、同じように簡単に再生することができます。
あなたが気づいた他の奇妙なプロパティ – eddi
'join [、factor.letters:= as.character(NULL)]'はうまくいくようです... –
これは私が出会った唯一の不思議なプロパティです。 – Frank