我有一个数据框列表-此列表中的某些数据框要求其列突变为日期列。我想知道是否可以使用mapply进行此操作。
[这是我的尝试(files1是数据帧的列表,c(“ data,data1”)是文件1内数据帧的名称,c(“ adfFlowDate”,“ datedate”)是相应数据帧内列的名称:
files2 <- repair_dates(files1, c("data, data1"), c("adfFlowDate","datedate"))
无效的功能:
repair_dates <- function(data, df_list, col_list) {
mapply(function(n, i) data[[n]] <<- data[[n]] %>% mutate(i = as.Date(i, origin = "1970-01-01")), df_list, col_list)
return(data)
}
您的设置在这里相当复杂,在另一个函数的mapply
内部调用一个匿名函数,该函数需要三个参数,所有这些参数都与单个嵌套对象有关。
就个人而言,我不会通过容纳使mutate
在此处工作所需的非标准评估来增加这种复杂性(尽管可能)。也许像这样(尽管没有任何可重现的数据很难说)-
repair_dates <- function(data, df_list, col_list)
{
mapply(function(n, i) {
data[[n]][[i]] <- as.Date(data[[n]][[i]], origin = "1970-01-01")
return(data[[n]])
}, df_list, col_list, SIMPLIFY = FALSE)
}