r-任何简单的方法来子集我的连续数据



我的数据属性之一是"时间",从0秒到8640秒(连续),我的教授要求我分别分析我的数据(0-5分钟)(5-10分钟)(10-15分钟)。我知道数据子集的基本代码,比如:

data<-data[which(data$Time<=300&data$>=0),]

但如果我这样做,我必须一次又一次地重复。。。我在想,我能有一个简单的方法来解决这个问题吗?有人能帮我吗?非常感谢!!

让我们假设您的数据集如下,不失一般性:

time <- seq(0,8640) 

将你的单位时间块定义为(你看到的是5分钟的单位)

blocks <- seq(1, length(time), 300)

然后

groups <- cbind(time, cut(time, blocks))

time中的每一行都伴随着它所对应的5分钟的相应块(变量V2)。事实上:

R: set.seed(1234)
R: groups[sample(nrow(groups), 5), ]
     time V2
983   983  4
5377 5377 18
5263 5263 18
5385 5385 18
7435 7435 25

一旦这样,您就可以通过变量V2对数据集进行任何类型的分组操作。

最新更新