我有许多数据帧,每个数据帧都有不同的行数。例如,我想将它们全部分解为每个不超过50行的较小数据帧。
所以,如果我有107行的数据帧,我想输出以下内容:
包含行1-50的数据框 包含行51-100的数据帧 包含行101-107
的数据框我一直在阅读使用split()
函数的许多示例,但我无法找到split()
的任何用法或任何其他解决方案,而这些解决方案未预先定义数据帧的数量拆分或扰乱数据的顺序,或引入其他问题。
这似乎是一项如此简单的任务,我很惊讶我无法找到解决方案。
答案 0 :(得分:4)
尝试:
split(df,(seq_len(nrow(df))-1) %/% 50)
前50行的共同点是什么?如果将行索引(小于1)的整数除法(%/%
)除以50,则它们都将0作为结果。你可以猜到,行51-100给出1,依此类推。 (seq_len(nrow(df))-1) %/% 50
基本上表示您要拆分的组。