我的数据属性之一是"时间",从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
对数据集进行任何类型的分组操作。