在R中应用列的函数列表

在R中应用列的函数列表,r,datetime,dataframe,R,Datetime,Dataframe,我有一个包含数百列的大数据框架。 日期值已作为字符串导入。 因此,我用以下方法修复它们: df$col1 <- as.POSIXct(strptime(df$col1, "%d%b%y:%H:%M:%S")) df$col1我们可以使用lappy循环“date\u cols”对象中的选定列,并通过指定“format”将其转换为POSIXct类。输出将是一个列表,可分配回原始列 df[date_cols] <- lapply(df[date_cols], as.POSIXct, fo

我有一个包含数百列的大数据框架。 日期值已作为字符串导入。 因此,我用以下方法修复它们:

df$col1 <- as.POSIXct(strptime(df$col1, "%d%b%y:%H:%M:%S"))

df$col1我们可以使用
lappy
循环“date\u cols”对象中的选定列,并通过指定“format”将其转换为
POSIXct
类。输出将是一个
列表
,可分配回原始列

df[date_cols] <- lapply(df[date_cols], as.POSIXct, format= "%d%b%y:%H:%M:%S")
注意:如果使用
库(magrittr)
中的
%%
代替
%%
,则不需要将输出分配回原始数据集

数据
set.seed(24)
df
df[date_cols] <- lapply(df[date_cols], as.POSIXct, format= "%d%b%y:%H:%M:%S")
date_cols <- paste0('col', 1:4)
library(dplyr)
df <- df %>% 
          mutate_each_(funs(as.POSIXct(., format="%d%b%y:%H:%M:%S")), date_cols)
df
#                col1                col2                col3
#1 2002-08-03 03:05:20 2003-01-12 06:02:22 2002-01-03 03:05:20
#2 2005-09-05 04:02:25 2005-01-05 10:20:25 2005-08-05 04:02:25
#                 col4       col5
#1 2003-02-12 06:02:22 -0.5458808
#2 2005-11-05 10:20:25  0.5365853
set.seed(24)
df <- data.frame(col1=c('03Aug02:03:05:20', '05Sep05:04:02:25'), 
     col2= c('12Jan03:06:02:22', '05Jan05:10:20:25'), 
     col3=c('03Jan02:03:05:20', '05Aug05:04:02:25'),
     col4= c('12Feb03:06:02:22', '05Nov05:10:20:25'), 
     col5=rnorm(2))