在分配新的名称时,R将类型的名称从日期更改为数字

时间:2017-05-06 11:50:41

标签: r date

我想保留日期格式的colnames,但是R会自动将其更改为数字,然后再更改为字符串。

示例:

db <- data.frame()
db <- rep(1:3, times=20)
db <- t(db)
colnames(db) <- c(seq(as.Date("2013-01-01"), length.out = 60, by= 'days'))
  

类(colnames(分贝))   [1]“人物”

     

colnames(分贝)    [1]“15706”“15707”“15708”“15709”“15710”“15711”“15712”“15713”“15714”“15715”“15716”“15717”“15718”   [14]“15719”“15720”“15721”“15722”“15723”“15724”“15725”“15726”“15727”“15728”“15729”“15730”“15731”   [27]“15732”“15733”“15734”“15735”“15736”“15737”“15738”“15739”“15740”“15741”“15742”“15743”“15744”   [40]“15745”“15746”“15747”“15748”“15749”“15750”“15751”“15752”“15753”“15754”“15755”“15756”“15757”   [53]“15758”“15759”“15760”“15761”“15762”“15763”“15764”“15765”

     

class(c(seq(as.Date(“2013-01-01”),length.out = 60,by ='days')))   [1]“日期”

     

c(seq(as.Date(“2013-01-01”),length.out = 60,by ='days'))    [1]“2013-01-01”“2013-01-02”“2013-01-03”“2013-01-04”“2013-01-05”“2013-01-06”“2013-01- 07“”2013-01-08“    [9]“2013-01-09”“2013-01-10”“2013-01-11”“2013-01-12”“2013-01-13”“2013-01-14”“2013-01- 15“”2013-01-16“   [17]“2013-01-17”“2013-01-18”“2013-01-19”“2013-01-20”“2013-01-21”“2013-01-22”“2013-01- 23“”2013-01-24“   [25]“2013-01-25”“2013-01-26”“2013-01-27”“2013-01-28”“2013-01-29”“2013-01-30”“2013-01- 31“”2013-02-01“   [33]“2013-02-02”“2013-02-03”“2013-02-04”“2013-02-05”“2013-02-06”“2013-02-07”“2013-02- 08“”2013-02-09“   [41]“2013-02-10”“2013-02-11”“2013-02-12”“2013-02-13”“2013-02-14”“2013-02-15”“2013-02- 16“”2013-02-17“   [49]“2013-02-18”“2013-02-19”“2013-02-20”“2013-02-21”“2013-02-22”“2013-02-23”“2013-02- 24“”2013-02-25“   [57]“2013-02-26”“2013-02-27”“2013-02-28”“2013-03-01”

如何将colnames格式化为日期以及为什么R会自动更改日期类型?

1 个答案:

答案 0 :(得分:0)

@Sotos评论是一个解决方案:

colnames(db) <- as.character(c(seq(as.Date("2013-01-01"), length.out = 60, by= 'days')))