![](/img/trans.png)
[英]Split a dataframe into any number of smaller dataframes with no more than N number of rows
[英]Is there a function to split a large dataframe into n smaller dataframes of equal size (by row) and have an n+1 dataframe of smaller size?
標題幾乎說明了它。 我有一個數據框,有7百萬行,對我來說太大了,我可以在沒有機器崩潰的情況下進行分析。 我想將它拆分為100個具有70,000行的較小數據幀,並使第101個數據幀具有剩余行(<70,000)。 這似乎是非平凡的。
我知道我可以手動計算n+1
數據幀的大小,刪除它,然后按以下方式使用split
函數:
d <- split(my_data_frame,rep(1:100,each=70,000))
但是我有多個大型數據幀,所有這些計算都很繁瑣。 有替代解決方案嗎?
這樣的事情怎么樣:
df <- data.frame(x = 1:723500, y = runif(7235000))
split(df, rep(1:100, each = round(NROW(df) / 100, -4)))
或者抽象一些:
num_dfs <- 100
split(df, rep(1:num_dfs, each = round(NROW(df) / num_dfs, -4)))
您可能需要考慮caret
包中的內容,例如: caret::createFolds(df$x)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.