Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R/zoo:x2018中的索引项;订单由’;它们不是独一无二的_R_Date_Time Series_Zoo - Fatal编程技术网

R/zoo:x2018中的索引项;订单由’;它们不是独一无二的

R/zoo:x2018中的索引项;订单由’;它们不是独一无二的,r,date,time-series,zoo,R,Date,Time Series,Zoo,我有一个.csv文件,其中包含4列数据,每隔一分钟对应一列日期/时间。缺少一些时间戳,因此我尝试生成缺少的日期/时间,并在Y列中为它们分配NA值。我以前使用过其他格式完全相同的.csv文件,没有任何问题。代码是: # 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") # conv

我有一个.csv文件,其中包含4列数据,每隔一分钟对应一列日期/时间。缺少一些时间戳,因此我尝试生成缺少的日期/时间,并在Y列中为它们分配NA值。我以前使用过其他格式完全相同的.csv文件,没有任何问题。代码是:

# 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 = ",")
当我执行“转换为动物园”步骤时,出现以下错误:

 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:必须删除数据/代码,抱歉

anyDuplicated(har10)
告诉您是否有任何完整的行被复制。zoo警告索引,因此您应该运行
anyDuplicated(har10$HAR.TS)
<代码>总和(重复(har10$HAR.TS))将显示几乎有9000个重复的日期时间。第一个副本位于第311811行附近,其中
10/08/19 13:10
出现两次。

并用于处理重复索引(请参见
?zoo
?aggregate.zoo

具有重复索引的zoo系列
我试着把它设置为GMT,但没有骰子。数据记录在JST(日本标准时间)中,因此没有DST。我还成功地在另外三个.csv文件上运行了相同的代码,格式完全相同,其中一个文件包含相同的日期/时间范围。我不知道为什么会有不同。我已经编辑了我的原始文章,包括我的文件(Dropbox链接)和完整的代码。但是,在解决问题后,我必须将其删除。分别使用前半部分数据和第二部分数据进行尝试,并继续这样做,直到可以使用几行数据重现问题。我有超过400000行的数据。这可能需要一些时间,@JoshuaUlrich的答案可能就是你想要的。只有一个简短的注释:看看
read.zoo
。您可以使用它来保存一些代码行。它看起来是这样的:
df1.zoo谢谢!我还是个新手,但我不敢相信事情会这么简单。我现在正在收拾行李,但明天会检查的-我想你可能是对的。是的,这很有效。我的数据再次充满了错误和重复-太棒了(谢谢!很高兴知道。很好的例子。但是,这不是问题的答案。
> anyDuplicated(har10)
[1] 0
## zoo series with duplicated indexes
z3 <- zoo(1:8, c(1, 2, 2, 2, 3, 4, 5, 5))
plot(z3)

## remove duplicated indexes by averaging
lines(aggregate(z3, index, mean), col = 2, type = "o")

## or by using the last observation
lines(aggregate(z3, index, tail, 1), col = 4)