在R数据帧列的字符串中添加字符



这是我的数据帧(带列名(的第一行:

site, date, value
TEES, 20000314, 315

正如您所看到的,日期没有分隔符(-或/(,所以我不能使用as.Date。因此,我需要这样的东西:

TEES, 2000-03-14, 315

我该怎么做?可能与sub有关

这会起作用吗:

as.Date(gsub('(\d{4})(\d{2})(\d{2})','\1-\2-\3',df$date))
[1] "2000-03-14"

数据:

df
site     date value
1 TEES 20000314   315

您可以使用lubridate包中的ymd函数。这将自动添加"-"以分离YYYY-MM-DD并将其转换为CCD_ 5。

library(lubridate)
ymd(df$date)
# "2000-03-14"

您可以使用as.Date,只需指定tryFormats参数:

as.Date("20000314", tryFormats = c("%Y%m%d"))
[1] "2000-03-14"

默认情况是尝试以下格式:c("%Y-%m-%d", "%Y/%m/%d"),它们与您当前的结构不匹配,因此您必须告诉它如何读取您的结构。

我们可以从anytime使用anydate

library(anytime)
anydate("20000314")
#[1] "2000-03-14"

相关内容

  • 没有找到相关文章

最新更新