簡體   English   中英

如何使用 mapply 改變數據框列表中的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM