Ответ 1
Ты можешь попробовать
df <- data.frame(a=numeric(), b=character(), c=as.POSIXct(character()))
Аналогично, вы можете создать столбец POSIXct
NA
в кадре данных с> 0 строками, создав новый столбец с as.POSIXct(NA)
.
Я могу инициализировать data.frame через
df <- data.frame(a=numeric(), b=character())
Но как определить столбец типа POSIXct?
df <- data.frame(a=numeric(), b=character(), c=POSIXct())
не будет работать.
Ты можешь попробовать
df <- data.frame(a=numeric(), b=character(), c=as.POSIXct(character()))
Аналогично, вы можете создать столбец POSIXct
NA
в кадре данных с> 0 строками, создав новый столбец с as.POSIXct(NA)
.
Дополнительная подсказка к предыдущей инициализации: если вы начинаете действия rbind() для добавления строк в этот пустой фрейм данных, вы можете столкнуться с ошибкой, подобной следующей, если вы будете следовать этому шаблону:
oneDF <- rbind(oneDF,twoDF,stringsAsFactors=FALSE)
Error in as.POSIXct.default(value) :
do not know how to convert 'value' to class "POSIXct"
Наконец, я обнаружил, что удаление strAsAsFactors = FALSE разрешило значение POSIXct (как целое время, так и часовой пояс) для передачи в целевой DF.
oneDF <- rbind(oneDF,twoDF)
рассматривая результат:
unclass(oneDF$mytime)
[1] 1282089600
attr(,"tzone")
[1] "GMT"