我正在通过R for Data Science进行一些练习(第21.2.1章,问题1-2)。 https://r4ds.had.co.nz/iteration.html
问题是:确定nycflights13 :: flights中每一列的类型
这是代码。
library(nycflights13)
output_air <- vector("list", ncol(flights))
names(output_air) = names(flights)
for (i in names(output_air)) {
output_air[i] = class(flights[[i]])
print(output_air)
}
output_air #1 with output_air[i]
for (i in names(output_air)) {
output_air[[i]] = class(flights[[i]])
print(output_air)
}
output_air #2 with output_air[[i]]
因此,显然#2是正确的方法,而#1显示错误: “在output_air [i] <-class(flights [[i]])中: 替换的项目数不是替换长度的倍数”,但我不知道为什么。
这里的问题是,当我执行#1时,在$ time_hour下存储的类仅包含“ POSIXct”,而不是“ POSIXct”和“ POSIXt”。
$time_hour
[1] "POSIXct"
$time_hour
[1] "POSIXct" "POSIXt"