【发布时间】:2017-02-21 13:49:30
【问题描述】:
我有以下数据
library(xts)
values<-c(2,2,2,4,2,3,0,0,0,0,0,1,2,3,2)
time1<-seq(from=as.POSIXct("2013-01-01 00:00"),to=as.POSIXct("2013-01-1 14:00"),by="hour")
data<-xts(values,order.by=time1)
data
[,1]
2013-01-01 00:00:00 2
2013-01-01 01:00:00 2
2013-01-01 02:00:00 2
2013-01-01 03:00:00 4
2013-01-01 04:00:00 2
2013-01-01 05:00:00 3
2013-01-01 06:00:00 0
2013-01-01 07:00:00 0
2013-01-01 08:00:00 0
2013-01-01 09:00:00 0
2013-01-01 10:00:00 0
2013-01-01 11:00:00 1
2013-01-01 12:00:00 2
2013-01-01 13:00:00 3
2013-01-01 14:00:00 2
现在我想删除所有的零,这可以通过
轻松实现remove_zerro = apply(data, 1, function(row) all(row !=0 ))
data[remove_zerro,]
问题是,在我使用不带零的数据并进行一些修改后,我想在同一日期和时间将零插入我的数据中。任何想法都会受到赞赏
【问题讨论】:
-
用零和不零分开你的数据,然后把它们重新组合在一起,或者对子集
data[ data[,1] != 0, ] <- data[ data[,1] != 0, ] + 1进行“修改”