如何将日期字符串列转换为R中的日期

时间:2015-10-11 03:02:18

标签: r date csv

我有一个csv文件,我使用read.csv来读取

ff = read.csv('ff5.csv',  col.names = c('date','mkt', 'smb','hml','rmw','cma','rf'), colClasses = c('character',rep('numeric',6)))

日期列的格式为' 197007'。它只给出年份和月份,所以我在动物园包中使用as.yearmon来转换日期列,因此

as.Date(as.yearmon(date,'%Y%m'))

现在,对于日期列中的每个条目,它都有效。但是,当我尝试将其分配回列条目时,它会给我数字字符!

library(zoo)

ff = read.csv('ff5.csv',  col.names = c('date','mkt', 'smb','hml','rmw','cma','rf'), colClasses = c('character',rep('numeric',6)))

for (i in 1:length(ff$date)){
  date = ff$date[i]
  d = as.Date(as.yearmon(as.character(date),'%Y%m'))
  ff$date[i] = d
}

我该如何解决这个问题?数据可以在这里下载

https://code.angularjs.org/1.4.7/docs/api/ngRoute

1 个答案:

答案 0 :(得分:1)

无需使用循环。

txt <- "197007
198511
201512"

library(zoo)
ff <- read.table(text=txt, col.names = "date")
ff$date <- as.Date(as.yearmon(as.character(ff$date), "%Y%m"))

str(ff)
'data.frame':   3 obs. of  1 variable:
 $ date: Date, format: "1970-07-01" "1985-11-01" ...