Я пытаюсь создать функцию для вставки строки NA
s в таблицу data.table. Я использую rbindlist
таким образом, чтобы выполнить это, где x
является data.table
:
rbindlist(
list(
x,
as.list(rep(NA, ncol(x)))
)
)
Я столкнулся с проблемой, из-за которой POSIXct
столбцы не могут быть связаны со значениями NA
, как в:
x <- data.table(
a=c(1,2),
t=c(Sys.time(), Sys.time()+100)
)
rbindlist(
list(
x,
as.list(rep(NA, ncol(x)))
)
)
для меня это приводит к следующей ошибке:
Error in rbindlist(list(x, as.list(rep(NA, ncol(x))))) :
Class attributes at column 2 of input list at position 2 does not match with column 2 of input list at position 1. Coercion of objects of class 'factor' alone is handled internally by rbind/rbindlist at the moment.
Так что он не может связать NA
, который я поставил с POSIXct
колонкой x$t
.
Вопрос: как связать однорядную data.table
всех NA
значений с data.table
с помощью столбца POSIXct
?
Я попробовал следующее, что привело к той же ошибке:
rbindlist(
list(
x,
as.list(c(NA, as.POSIXct(NA)))
)
)
Интересно: позвонив по оригиналу: data.table
x[2, t:=NA]
x[2, a:=NA]
Возвращает:
a t
1: 1 2019-04-04 12:38:57
2: NA <NA>