更改R中的日期变量格式

7gcisfzg  于 2022-12-20  发布在  其他
关注(0)|答案(2)|浏览(102)

我有一个带有日期变量的数据集:
2004年11月23日2022年8月1日
所以我把它们改写成这样:
二○ ○四年十一月二十三日二○二二年八月一日
此时class()返回"character"。我在将其转换为"date"时遇到了问题。
我试过:

df <- df %>% 
  mutate(
    # rewrite / as -
    date = gsub("/", "-", date)
  ) %>% 
  as.Date()

但出现以下错误:

Error in as.Date.default(.) : 
  do not know how to convert '.' to class “Date”

据我所知,我重写的变量(2004 - 11 - 23)没有'.'谁能告诉我代码出了什么问题?

suzh9iv8

suzh9iv81#

在不太了解数据的情况下,我认为您需要这样做:

df <- df %>% 
  mutate(
    # rewrite / as -
    date = gsub("/", "-", date) %>% as.Date()
  )
xriantvc

xriantvc2#

date中似乎有一些数据与预期格式%Y/%m/%d不匹配。您可以使用grepl清除此类错误值:

data[!grepl("^\\d{4}/\\d{1,2}/\\d{1,2]$")]

这并不是一个完整的解决方案,因为如何处理上述一行程序返回的任何内容取决于您,但至少这可以让您识别出有问题的数据。

相关问题