R 如何将小时数据转换为6/12/24小时数据
我是新来的,也是R 例如,我有这种降雨数据。如一天的数据所示,我有每小时降雨量数据,我想将每小时数据转换为6小时、12小时和每日数据,如示例所示。如何在R中实现这一点R 如何将小时数据转换为6/12/24小时数据,r,aggregate,R,Aggregate,我是新来的,也是R 例如,我有这种降雨数据。如一天的数据所示,我有每小时降雨量数据,我想将每小时数据转换为6小时、12小时和每日数据,如示例所示。如何在R中实现这一点 我用下面的代码解决了它 y<-as.matrix(sapply(x, as.numeric)) h<-sapply(c(6, 12, 24), function(hrs) colSums(matrix(y, ncol=length(x)/hrs))) 我用下面的代码解决了它 y<-as.mat
我用下面的代码解决了它
y<-as.matrix(sapply(x, as.numeric))
h<-sapply(c(6, 12, 24), function(hrs) colSums(matrix(y, ncol=length(x)/hrs)))
我用下面的代码解决了它
y<-as.matrix(sapply(x, as.numeric))
h<-sapply(c(6, 12, 24), function(hrs) colSums(matrix(y, ncol=length(x)/hrs)))
有许多方法可以在R中聚合。请参阅 下面是tapply的另一种方式:
# input data (since OP contains none)
> v = replace(numeric(24), c(3:4, 6:10), c(0.6, 0.2, 0.2, 3.2, 0.8, 0.4, 1))
>
> lapply(c(1, 6, 12, 24), function(n) tapply(v, rep(1:24, each=n, length.out=24), sum))
[[1]]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
0.0 0.0 0.6 0.2 0.0 0.2 3.2 0.8 0.4 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
[[2]]
1 2 3 4
1.0 5.4 0.0 0.0
[[3]]
1 2
6.4 0.0
[[4]]
1
6.4
有许多方法可以在R中聚合。请参阅 下面是tapply的另一种方式:
# input data (since OP contains none)
> v = replace(numeric(24), c(3:4, 6:10), c(0.6, 0.2, 0.2, 3.2, 0.8, 0.4, 1))
>
> lapply(c(1, 6, 12, 24), function(n) tapply(v, rep(1:24, each=n, length.out=24), sum))
[[1]]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
0.0 0.0 0.6 0.2 0.0 0.2 3.2 0.8 0.4 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
[[2]]
1 2 3 4
1.0 5.4 0.0 0.0
[[3]]
1 2
6.4 0.0
[[4]]
1
6.4