【发布时间】:2020-10-01 16:10:44
【问题描述】:
你能帮我看看下面的代码吗? 我确实试图找到一个答案,但可能错过了,如果有一个已经对不起你的时间。
我有一个如下例所示的 DataFrame。我需要做的是将所有 dt_ 变量转换为日期。 我一个一个地用 mutate()/lapply 得到它,但我正在寻找一种自动方法。我在 R 工作。
co_cid Tipo dt_notificacao co_uf_notificac~ co_uf_completo no_municipio_no~ dt_diagnostico_~
<fct> <fct> <fct> <fct> <fct> <fct> <fct>
1 A90 Deng~ 01/10/2016 PE PERNAMBUCO Recife 23/01/2015
2 A90 Deng~ 02/11/2016 PE PERNAMBUCO Recife 09/01/2015
3 A90 Deng~ 01/11/2016 PE PERNAMBUCO Recife 12/12/2015
4 A90 Deng~ 02/04/2016 PE PERNAMBUCO Recife 12/08/2015
5 A90 Deng~ 01/08/2016 PE PERNAMBUCO Recife 12/01/2015
6 A90 Deng~ 01/11/2016 PE PERNAMBUCO Recife 12/04/2015
我得到了所有的 dt_,应该是日期:
dt_vec <- nomes_colunas[(sapply(nomes_colunas, startsWith,prefix = "dt_"))]
然后我想用它将所有 dt_ 列转换为 Date 并将其替换为原始 df。 我尝试了一个带有 mutate 的 for 循环,但列名与变量名保持一致。所以我最终只有一个带有日期的“coluna”变量。
for (coluna in dt_vec) {
df_dados <- df_dados %>% mutate(coluna, coluna = as.Date(coluna, format = "%d/%m/%Y"))
}
至于 apply 我发现很难替换原始 df 中的值。
提前致谢!
【问题讨论】:
标签: r date dplyr data-cleaning