我有一个从website获得的数据集。在此数据集中,有一个“日期”列,其类是因子。我需要将它们转换为日期类。所以我的问题是;
答案 0 :(得分:0)
不确定这是否是您想要的,但这是一种方法:
df <- read.csv("map.csv")
dates <- t(data.frame(strsplit(as.character(df$Date),"-")))
df$dateFrom <- as.Date(paste0("01/",dates[,1]), format="%d/%m/%Y")
df$dateTo <- as.Date(paste0("01/",dates[,2]), format="%d/%m/%Y")
head(df[,c("Date","dateFrom","dateTo")])
# Date dateFrom dateTo
# 1 1/2010-12/2010 2010-01-01 2010-12-01
# 2 1/2011-12/2011 2011-01-01 2011-12-01
# 3 1/2012-11/2012 2012-01-01 2012-11-01
# 4 12/2012 2012-12-01 2012-12-01
# 5 1/2013-12/2013 2013-01-01 2013-12-01
# 6 12/2012 2012-12-01 2012-12-01
这会将您的“日期”字段解析为“从”和“到”日期,并将这些字段作为额外列添加到df
。由于as.Date(...)
确实需要一个完整的日期(单独的月份和年份是不够的),所以我在所有情况下都将日期强制到了本月的第一天。