将数据帧划分为x大致相等的组 - 按顺序划分

时间:2017-10-30 16:10:54

标签: r

我想将df分成x大致相等的组,顺序

我基本上是这样做的:

df_1 <- df[1:10,]
df_2 <- df[11:21,]
df_3..

使用分割还是切片有更简单的方法吗?重要的是,我想维持df的顺序,而不是来自它的样本。

想象一下,我有7000次观察,我想要19个大致相同的组。

最佳!

1 个答案:

答案 0 :(得分:0)

我不知道它是否等于roughly相等,但你可以这样做:

nobs    <- 7000
ngroups <- 17
df <- data.frame(x = sample(nobs))
set.seed(1)
df$grp <- sort(sample(1:ngroups,nobs,T)) # added the sort so the order of your df is maintained
table(df$grp)
#   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17 
# 436 407 410 369 417 411 440 401 431 411 356 398 390 414 443 418 448

然后split(df,df$grp)