Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中仅从年和朱利安日(yday)获取日历日期_R_Date_Tidyverse_Lubridate - Fatal编程技术网

如何在R中仅从年和朱利安日(yday)获取日历日期

如何在R中仅从年和朱利安日(yday)获取日历日期,r,date,tidyverse,lubridate,R,Date,Tidyverse,Lubridate,我有一个数据集,其中有一列包含年份,另一列包含每年的第几天。我想将此信息转换为日历日期,以便更好地筛选数据集。数据如下所示,但为1980年至2016年的数据,每年的每一天都有一个条目: 年白天温度 1980年1月0.5日 1980年2月-5.0日 1980年3月-3.5日 1980 4 1.0 1980年5-1.0 temps<-structure(list(year = c(1980L, 1980L, 1980L, 1980L, 1980L), yday = 1:5, temp

我有一个数据集,其中有一列包含年份,另一列包含每年的第几天。我想将此信息转换为日历日期,以便更好地筛选数据集。数据如下所示,但为1980年至2016年的数据,每年的每一天都有一个条目:

年白天温度

1980年1月0.5日
1980年2月-5.0日
1980年3月-3.5日
1980 4 1.0
1980年5-1.0

temps<-structure(list(year = c(1980L, 1980L, 1980L, 1980L, 1980L), yday = 1:5, 
    temp = c(0.5, -5, -3.5, 1, -1)), row.names = c(NA, -5L), class = c("tbl_df", 
"tbl", "data.frame"), .Names = c("year", "yday", "temp"))

temps您可以从1月1日开始,然后通过添加
yday
值来计算它

with(temps, as.Date(paste0(year, "-01-01")) + (yday - 1))
# [1] "1980-01-01" "1980-01-02" "1980-01-03" "1980-01-04" "1980-01-05"

您可以从1月1日开始,然后通过添加
yday
值来计算它

with(temps, as.Date(paste0(year, "-01-01")) + (yday - 1))
# [1] "1980-01-01" "1980-01-02" "1980-01-03" "1980-01-04" "1980-01-05"

库(lubridate)
图书馆(dplyr)
临时工%
突变(日期=制造日期(年)+yday-1)
#>#tibble:7 x 4
#>年份yday临时日期
#>          
#> 1  1980     1   0.5 1980-01-01
#> 2  1980     2  -5.0 1980-01-02
#> 3  1980     3  -3.5 1980-01-03
#> 4  1980     4   1.0 1980-01-04
#> 5  1980     5  -1.0 1980-01-05
#> 6  1980    99  -1.0 1980-04-08
#> 7  1980    50  -1.0 1980-02-19

库(lubridate)
图书馆(dplyr)
临时工%
突变(日期=制造日期(年)+yday-1)
#>#tibble:7 x 4
#>年份yday临时日期
#>          
#> 1  1980     1   0.5 1980-01-01
#> 2  1980     2  -5.0 1980-01-02
#> 3  1980     3  -3.5 1980-01-03
#> 4  1980     4   1.0 1980-01-04
#> 5  1980     5  -1.0 1980-01-05
#> 6  1980    99  -1.0 1980-04-08
#> 7  1980    50  -1.0 1980-02-19