gpt4 book ai didi

r - 将 R 中的日期从破折号转换为斜线格式?

转载 作者:行者123 更新时间:2023-12-05 02:50:23 25 4
gpt4 key购买 nike

我有以下日期:

my_dataset <- tibble(my_date = c("03-05-2020", "04-05-2020", "05-05-2020", "06-05-2020"))

我想创建一个名为 nice_dates 的新列,其日期格式为:dd/mm/yyyy 格式,所以我最终会得到类似这样的内容:

my_date    | nice_dates 
03-05-2020 | 03/05/2020
04-05-2020 | 04/05/2020
05-05-2020 | 05/05/2020
06-05-2020 | 06/05/2020

我曾尝试使用 lubridate pacakge,但在定义新格式时卡住了,我知道它应该是“%d/%m/%Y”,但是使用 as.Date() 会产生 NA。

我应该改用 gsub 吗?

最佳答案

@ThoVu 快到了。因此,为了完整起见,仅使用基础 R 的答案要简单得多。

代码
## input data as before
df <- data.frame(my_date = c("03-05-2020", "04-05-2020",
"05-05-2020", "06-05-2020"))

## create Date objects using base R
df$parsed <- strptime(df$my_date, "%d-%m-%Y")

## format them to spec
df$nice_dates <- format(df$parsed, "%d/%m/%Y")
输出
R> df <- data.frame(my_date = c("03-05-2020", "04-05-2020",
"05-05-2020", "06-05-2020"))
R> df$parsed <- strptime(df$my_date, "%d-%m-%Y")
R> df$nice_dates <- format(df$parsed, "%d/%m/%Y")
R> df
my_date parsed nice_dates
1 03-05-2020 2020-05-03 03/05/2020
2 04-05-2020 2020-05-04 04/05/2020
3 05-05-2020 2020-05-05 05/05/2020
4 06-05-2020 2020-05-06 06/05/2020
R>

我的一般建议是,当您可以使用适当的日期解析器时,永远不要对日期输入使用字符串操作或正则表达式。

关于r - 将 R 中的日期从破折号转换为斜线格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63685758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com