如何使用R将数据集划分为N个大小相等的分区?我尝试过像
这样的东西 for (i in 1:100){data[i] <- full_data[i:(100000*i),]}
这显然不起作用,但希望能够了解我想要实现的目标。完整数据集有1,000,000行,并且已经是随机顺序。我想要100个相等且独立的数据集,每行10,000行。
答案 0 :(得分:0)
应该这样做,假设data
是一个列表:
data <- list()
for (i in 1:100){data[[i]] <- full_data[((i-1)*10000+1):(i*10000),]}
答案 1 :(得分:0)
您可以创建分位数 - 索引组(例如,您只需要n组而不必计算)
data <- data.frame(1:1000000)
xtile <- function (x, n)
{
cuts <- quantile(x, probs = seq(0, 1, length = n + 1))
cut(x, breaks = cuts, include.lowest = TRUE)
}
group <- xtile(1:nrow(data), 100)
all(table(group)== 10000)
data.spl <- split(data, group)
data.spl[[2]]
答案 2 :(得分:0)
我相信cut2()函数也会同等分区,你可以用参数设置分区数。