如何在rstudio中将日期拆分为年、月、日列?

如何在rstudio中将日期拆分为年、月、日列?,r,R,我是rstudio的新手,所以这可能有一个非常简单的答案。我导入了一个包含12000多行的表。我的一个列具有“年-月-日”格式的不同日期,我想将这一列拆分为三个单独的年、月和日列,以便仅使用月进行一些分析。对于这个问题,我已经看到了很多答案,但似乎没有一个对我有用。我怎样才能将这么多行转换成单独的列,而不单独写出每个日期呢 可能需要注意的是,我试图转换的列的日期格式为“Y%-m%-%d” 我导入的表如下所示: date_observed latitude Range 1

我是rstudio的新手,所以这可能有一个非常简单的答案。我导入了一个包含12000多行的表。我的一个列具有“年-月-日”格式的不同日期,我想将这一列拆分为三个单独的年、月和日列,以便仅使用月进行一些分析。对于这个问题,我已经看到了很多答案,但似乎没有一个对我有用。我怎样才能将这么多行转换成单独的列,而不单独写出每个日期呢

可能需要注意的是,我试图转换的列的日期格式为“Y%-m%-%d”

我导入的表如下所示:

        date_observed  latitude   Range
1       2018-03-04     9.934524   "6 to 15"
2       2019-06-20     9.942766   "6 to 15"
3       2018-07-07     14.007714  "6 to 15"
...
12408   2019-06-05     70.67493   "66 to 75"
        year  month  day  latitude   Range
1       2018  03     04   9.934524   "6 to 15"
2       2019  06     20   9.942766   "6 to 15"
3       2018  07     07   14.007714  "6 to 15"
...
12408   2019  06     05   70.67493   "66 to 75"
我希望它看起来像这样:

        date_observed  latitude   Range
1       2018-03-04     9.934524   "6 to 15"
2       2019-06-20     9.942766   "6 to 15"
3       2018-07-07     14.007714  "6 to 15"
...
12408   2019-06-05     70.67493   "66 to 75"
        year  month  day  latitude   Range
1       2018  03     04   9.934524   "6 to 15"
2       2019  06     20   9.942766   "6 to 15"
3       2018  07     07   14.007714  "6 to 15"
...
12408   2019  06     05   70.67493   "66 to 75"

有多种方法可以做到这一点。如果您的数据如下所示:

df <- data.frame(dates = c('2019-01-03', '2020-03-21'))
2) 使用
tidyr::separate
将字符串拆分为
“-”

3) 与1)相同,但使用
dplyr
+
lubridate

library(dplyr)
library(lubridate)

df %>%
  mutate(dates = as.Date(dates), 
         date = day(dates), month = month(dates), year = year(dates))

如果您共享一些有关数据的信息,则更容易提供帮助。您可以使用
dput(head(df))
共享几行数据,其中
df
是数据帧的名称。