mutate_at列名错误

时间:2017-06-06 21:13:27

标签: r dplyr anytime

我正在尝试将dplyr链中的anytime包中的anytime()函数应用于以Date结尾的所有列

但是我收到了这个错误。

Error: Unsupported Type

当我使用

invoicePayment <- head(raw.InvoicePayment) %>%
  mutate_at(ends_with("Date"), funs(anytime))

但是当我使用

时它很好
invoicePayment <- head(raw.InvoicePayment) %>%
  select(ends_with("Date")) %>%
  mutate_at(ends_with("Date"), funs(anytime))

感谢任何帮助, 谢谢,

1 个答案:

答案 0 :(得分:3)

我们可能需要用vars

包装
library(anytime)
library(dplyr)
df1 %>% 
    mutate_at(vars(ends_with("Date")), anytime)
#  col1           col2_Date           col3_Date
#1    1 2017-06-07 05:30:00 2017-06-07 05:30:00
#2    2 2017-06-08 05:30:00 2017-06-06 05:30:00
#3    3 2017-06-09 05:30:00 2017-06-05 05:30:00
#4    4 2017-06-10 05:30:00 2017-06-04 05:30:00
#5    5 2017-06-11 05:30:00 2017-06-03 05:30:00

数据

df1 <- data.frame(col1 = 1:5, col2_Date = Sys.Date() + 0:4, col3_Date = Sys.Date() - 0:4)