将日期添加到由 Posixct 函数生成的空数据框中
To add dates to empty dataframe that are generated by Posixct function
我用这个脚本创建了一系列日期:
dates<-seq(
from=as.POSIXct("2015-1-1 0","%Y-%m-%d %H", tz="UTC"),
to=as.POSIXct("2015-12-31 24", "%Y-%m-%d %H", tz="UTC"),
by="hour"
)
现在我想将结果存储到空数据框的第一列:
df<-data.frame(Date=as.POSIXct(character()),Area=character(), Application=character(), Type= character(),
Reading=double())
使用此代码
df$Date<-dates
但它给我错误:
Error in `$<-.data.frame`(`*tmp*`, "Date", value = c(1420070400, 1420074000, :
replacement has 8761 rows, data has 0
谁能帮我解决这个问题?
A data.frame
需要等长的列,不能有一列包含 8761 个观察值,其余的为 0。解决方法是使用正确的数据维度初始化 data.frame
,填充通过 NA
;然后分配列。
# Initialize df
df <- data.frame(matrix(NA, nrow = length(dates), ncol = 5))
# Define names of cols and add column
names(df) <- c("Date", "Area", "Application", "Type", "Reading")
df$Date <- dates
我用这个脚本创建了一系列日期:
dates<-seq(
from=as.POSIXct("2015-1-1 0","%Y-%m-%d %H", tz="UTC"),
to=as.POSIXct("2015-12-31 24", "%Y-%m-%d %H", tz="UTC"),
by="hour"
)
现在我想将结果存储到空数据框的第一列:
df<-data.frame(Date=as.POSIXct(character()),Area=character(), Application=character(), Type= character(),
Reading=double())
使用此代码
df$Date<-dates
但它给我错误:
Error in `$<-.data.frame`(`*tmp*`, "Date", value = c(1420070400, 1420074000, :
replacement has 8761 rows, data has 0
谁能帮我解决这个问题?
A data.frame
需要等长的列,不能有一列包含 8761 个观察值,其余的为 0。解决方法是使用正确的数据维度初始化 data.frame
,填充通过 NA
;然后分配列。
# Initialize df
df <- data.frame(matrix(NA, nrow = length(dates), ncol = 5))
# Define names of cols and add column
names(df) <- c("Date", "Area", "Application", "Type", "Reading")
df$Date <- dates