4

我想为 R 数据框中的日期预分配空间。

为了预先为字符和数字分配空间,我会写

MyDataframe <- data.frame(Name = character(10), 
                          Tickets  = numeric(10))

我会在为日期预先分配空间旁边添加什么?这不起作用...

# DOES NOT WORK
MyDataframe <- data.frame(Name = character(10), 
                          Tickets  = numeric(10)
                          Date = Date(10))

目前,我将列定义为数字,然后强制转换为日期,但这似乎不太理想。
谢谢

4

2 回答 2

5

如果您要查找的只是一个包含 10 个日期的占位符列,则此方法有效:

as.Date(1:10, origin=Sys.Date())

你的问题是character()andnumeric()函数有一个长度参数,但是 as.Date(因为没有Date()函数)没有 ( ?as.Date)

于 2012-08-10T16:18:45.337 回答
1

这是我的最终代码。它运作良好。

MyDF <- data.frame(Name = character(10),
                   Tickets = numeric(10),
                   Date = as.Date(rep(0,10), origin = "1900-01-01"))

这是输出:

> MyDF

   Name Tickets       Date
1             0 1900-01-01
2             0 1900-01-01
3             0 1900-01-01
4             0 1900-01-01
5             0 1900-01-01
6             0 1900-01-01
7             0 1900-01-01
8             0 1900-01-01
9             0 1900-01-01
10            0 1900-01-01

和总结

> summary(MyDF)

 Name     Tickets       Date           
 :10   Min.   :0   Min.   :1900-01-01  
       1st Qu.:0   1st Qu.:1900-01-01  
       Median :0   Median :1900-01-01  
       Mean   :0   Mean   :1900-01-01  
       3rd Qu.:0   3rd Qu.:1900-01-01  
       Max.   :0   Max.   :1900-01-01  

谢谢你的帮助

于 2012-08-12T17:37:35.430 回答