如何将年和日的两列表示为日期?

How to represent two columns of year and day as a date?

我有一个包含 3 列的文本文件,如下所示。数年(2001-2013 年)每天都进行测量。我想为 valu1 绘制一个时间序列,但是由于年份和日期是分开的,所以我遇到了一个问题:

读取文件:

  LR=read.table("C:\Users\dat.txt", sep ='', header =TRUE)

header:

 head(LR)
     Year day  valu1 
   1 2001   1         0     
   2 2001   2         1     
   3 2001   3         2    
   4 2001   4         0       
   5 2001   5        0.30     
   6 2001   6         0  

我试过这个:

    LR$Year=as.Date(as.character(LR$Year))
    Error in `$<-.data.frame`(`*tmp*`, "Year", value = numeric(0)) : 
    replacement has 0 rows, data has .

我不知道是否所有日期都可用所以我想知道我们是否可以告诉 R 如果缺少日期,只需将其替换为 NA 但仍会考虑缺少的日期在情节中没有价值。

你可以试试:

LR$date <- as.Date(paste(LR$Year, LR$day, sep = "-"), format = "%Y-%j")

我在这里假设 day 是一年中的第几天,所以从 1 到 366。这是格式中的 %j