考虑以下 R 代码,它将数据框的一列中的值替换为一组 POSIXct 值:
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
我错过了什么?