将因子转换为多列的日期类

时间:2014-02-13 08:18:15

标签: r

我的数据集中有7列。我想从因子到日期格式转换4个变量(2到5列)。我可以一次只做一列,但我想知道是否有一条捷径可以将所有这些一起转换。

目前我就是这样做的。

SampleData$column2<-as.Date(SampleData$column2,format="%Y/%m%/%d")
SampleData$column3<-as.Date(SampleData$column3,format="%Y/%m%/%d")
SampleData$column4<-as.Date(SampleData$column4,format="%Y/%m%/%d")
SampleData$column5<-as.Date(SampleData$column5,format="%Y/%m%/%d")

1 个答案:

答案 0 :(得分:9)

根据您的日期格式,您可以尝试:

# sample data
df <- data.frame(a = 1:2,
                 d1 = factor(c("2013/01/01", "2014/01/01")),
                 d2 = factor(c("2013/01/01", "2014/01/01")),
                 b = 3:4)

df[ , 2:3] <- lapply(df[ , 2:3], as.Date)

str(df)
# 'data.frame':  2 obs. of  4 variables:
# $ a : int  1 2
# $ d1: Date, format: "2013-01-01" "2014-01-01"
# $ d2: Date, format: "2013-01-01" "2014-01-01"
# $ b : int  3 4