[英]How to use mapply to mutate columns in a list of dataframes
我有一個數據框列表 - 此列表中的一些數據框需要將它們的列突變為日期列。 我想知道是否可以用 mapply 做到這一點。
這是我的嘗試(files1 是數據幀列表,c("data, data1") 是 files1 中數據幀的名稱,c("adfFlowDate","datedate") 是各個數據幀中列的名稱:
files2 <- repair_dates(files1, c("data, data1"), c("adfFlowDate","datedate"))
不起作用的function:
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
內的映射中調用匿名 function,它采用三個參數,所有參數都與單個嵌套 object 相關。
就我個人而言,我不會通過適應使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)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.