我有一個.csv文件,其中包含4列數據和一分鐘間隔的日期/時間列。一些時間戳丟失,所以我試圖生成缺失的日期/時間,並將它們分配給Y列中的NA值。我以前使用完全相同的格式與其他.csv文件完成此操作,沒有問題。該代碼是:R/zoo:'order.by'中的索引條目不是唯一的
# read the csv file
har10 = read.csv(fpath, header=TRUE);
# set date
har10$HAR.TS<-as.POSIXct(har10$HAR.TS,format="%y/%m/%d %H:%M")
# convert to zoo
df1.zoo<-zoo(har10[,-1],har10[,1]) #set date to Index
# merge and generate NAs
df2 <- merge(df1.zoo,zoo(,seq(start(df1.zoo),end(df1.zoo),by="min")), all=TRUE)
# write zoo object to .csv file in Home directory
write.zoo(df2, file = "har10fixed.csv", sep = ",")
我的數據是這樣的(整整一年,更多或更少)轉換爲POSIXct,這似乎去罰款後:
HAR.TS C1 C2 C3 C4
1 2010-01-01 00:00:00 -4390.659 5042.423 -2241.6344 -2368.762
2 2010-01-01 00:01:00 -4391.711 5042.056 -2241.1796 -2366.725
3 2010-01-01 00:02:00 -4390.354 5043.003 -2242.5493 -2368.786
4 2010-01-01 00:03:00 -4390.337 5038.570 -2242.7653 -2371.289
當我的「轉換爲動物園」的步驟,我得到以下錯誤:
Warning message:
In zoo(har10[, -1], har10[, 1]) :
some methods for 「zoo」 objects do not work if the index entries in ‘order.by’ are not unique
我已經檢查了重複的條目,但沒有結果:
> anyDuplicated(har10)
[1] 0
任何想法?我不知道爲什麼我在這個文件上得到這個錯誤,但它已經爲以前的工作。謝謝!
編輯:可再現的形式:
編輯2:必須刪除數據/代碼,對不起!
我試圖將其設置爲GMT,但沒有骰子。數據記錄在JST(日本標準時間)中,因此沒有DST。此外,我已成功在其他三個.csv文件上運行相同的代碼,格式完全相同,包括一個案例中的相同日期/時間範圍。這就是扔我 - 我不知道爲什麼這應該是不同的。 –
我編輯了我的原始文章以包含我的文件(Dropbox鏈接)和完整的代碼。不過,我必須在解決問題後將其刪除。 –
分別對數據的前半部分和第二半部分進行嘗試,並保持這種狀態,直到只有少數幾行數據才能重現問題。然後發佈。 –