簡體   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