我的一个数据属性是"时间"从o秒到8640秒(连续),我的教授让我分析我的数据(0-5分钟)(5-10分钟)(10分钟) -15分钟)。我知道将数据子集化的基本代码,例如:
data<-data[which(data$Time<=300&data$>=0),]
但如果我这样做,我必须一次又一次地重复......我在想,我能有一个简单的方法来解决这个问题吗?有人可以帮帮我吗?非常感谢!!
答案 0 :(得分:1)
让我们假设您的数据集如下,而不失一般性:
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
对数据集分组执行任何操作。