使用dplyr中的函数进行文本变换

时间:2015-11-13 09:40:03

标签: r dplyr

我尝试使用函数使用dplyr改变列。

要复制的数据:

dates<-tbl_df(data.frame(Dates=c(as.Date("2002-12-31"),as.Date("2003-01-31"))))

功能:

getfilename <- function(date) str_c("EQS_",format(date, format="%Y%m%d"),".csv")

dplyr代码:

expected<-dates %>%   rowwise() %>%  mutate(filenames=getfilename(Dates))

预期输出:附加一列,包含:

"EQS_20021231.csv"
"EQS_20030231.csv"

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

你非常接近。字符串连接的函数是paste0。此外,您不需要rowwise电话。 mutate函数始终按行运行。

dates <- tbl_df(data.frame(Dates=c(as.Date("2002-12-31"),as.Date("2003-01-31"))))
getfilename <- function(date) paste0("EQS_",format(date, format="%Y%m%d"),".csv")
expected <- dates %>% mutate(filenames=getfilename(Dates))