我有一个时间序列tt.txt的每日数据,从1998年5月1日到2012年10月31日,在一列中:
v1
296.172
303.24
303.891
304.603
304.207
303.22
303.137
303.343
304.203
305.029
305.099
304.681
304.32
304.471
305.022
304.938
304.298
304.120
文本文件中的每个数字代表相应日期的开尔文最高温度。我想通过添加year,jday和数据值来将数据放在3列中:
year jday MAX_TEMP
1 1959 325 11.7
2 1959 326 15.6
3 1959 327 14.4
答案 0 :(得分:1)
如果您有带日期的向量,我们可以将其转换为'年份'和' jday'由
$dir = "C:\Program Files\SomeApp"
$hostIp = "10.1.1.1"
$dir -replace '.:',"\\$hostIP\$($(Split-Path -Qualifier $dir).TrimEnd(':'))$"
要转换回%Y%j'至于'日期'类
v1 <- c('May 1998 05', 'October 2012 10')
v2 <- format(as.Date(v1, '%b %Y %d'), '%Y %j')
df1 <- read.table(text=v2, header=FALSE, col.names=c('year', 'jday'))
df1
# year jday
#1 1998 125
#2 2012 284
我们可以使用df1$date <- as.Date(do.call(paste, df1[1:2]), '%Y %j')
读取数据集。如果我们在更改read.table
日期&#39;之后知道了原始数据集的开始和结束日期seq
,请使用cbind
创建一系列日期。到了#年;和&#39;朱利安日&#39;。
format
答案 1 :(得分:0)
您可以使用yday
as.POSIXlt("8 Jun 15", format = "%d %b %y")$yday