繁体   English   中英

遍历R中的未知日期

[英]Iterating through unknown dates in R

我是R的新手(以前在C ++和Python中工作过),所以这可能只是我不了解R的某些细​​微差别的一个因素。

我正在研究的程序应该按日期构造数据矩阵。 这是我如何初始化这样的矩阵的方法:

dates <- seq(as.Date("1980-01-01"), as.Date("2013-12-31"), by="days")
HN3 <- matrix(nrow=length(dates), ncol = 5, dimnames = list(as.character(dates), c("Value1", "Value2", "Value3", "Value4", "Value5")))

请注意, dates包括1980年至2013年之间的每一天。

因此,从那里开始,我有一些文件,其中包含某些日期和这些日期的Value1等度量值,我需要将这些文件的内容读取到HN3 但是问题是大多数文件都不包含每天的测量结果

因此,我想做的是将文件读入数据帧(例如v1read ),其中第1 v1read日期,第2 v1read所需数据。 然后,我比赛的日期v1read在该日期的行中的HN3和复制所有相关的v1read值的方式。 这是我这样做的尝试:

for (i in 1:nrow(v1read)) {
  HN3[as.character(v1read[i,1]),Value1] <- v1read[i,4]
}

i的值意外增加时,这给了我一个超出索引范围的错误。 我知道R不喜欢遍历日期,但是由于迭代器本身是一个数字值而不是日期,所以我希望发现一个漏洞。

任何有关如何完成此操作的技巧将不胜感激。

让我们使用library(dplyr) 从...开始

dates = seq(as.Date("1980-01-01"), as.Date("2013-12-31"), by="days")
HN3 = data.frame(Date=dates)

现在,加载第一个文件,该文件具有日期和Value1。

file1 = read.file(value1.file) #I'm assuming this file has a column already named "Date" and one named #Value1
HN3 = left_join(HN3,file1,by="Date")

这将执行左连接(SQL样式),仅匹配存在日期的行,并用NA填充其余行。 现在,您具有一个包含两列的数据框,即Date和Value1。 加载其他文件,对每个文件进行left_join即可完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM