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