Рассмотрим следующий R-код, который заменяет значения в одном столбце кадра данных с набором значений POSIXct:Замена значений столбцов с объектом POSIXlt
foo <- as.data.frame(list(bar=rep(5,5)))
bar <- as.POSIXct(rep(5,5), origin="1970-1-1", tz="c")
foo[,1] <- bar
Мой вопрос: почему же операцию строя, когда Я пытаюсь использовать POSIXlt вместо этого? Например:
foo <- as.data.frame(list(bar=rep(5,5)))
bar <- as.POSIXlt(rep(5,5), origin="1970-1-1", tz="c")
foo[,1] <- bar
Warning message:
In `[<-.data.frame`(`*tmp*`, , 1, value = list(sec = c(5, 5, 5, :
provided 9 variables to replace 1 variables
Кроме того, если я сошлюсь на колонку по имени, а не по индексу, то же самое назначение работает просто отлично:
foo$bar <- bar
foo <- as.data.frame(list(bar=rep(5,5)))
bar <- as.POSIXlt(rep(5,5), origin="1970-1-1", tz="c")
foo$bar <- bar
Что мне не хватает?
Я получаю предупреждение о том, что часовой пояс «c» неизвестен в моей системе. –
Роман: У меня нет предупреждения. «c» следует ссылаться на текущий часовой пояс. Наверное, вы могли бы указать UCT вместо этого? или ваш часовой пояс? – Daniel