r - 将大型数据集拆分为组
问题描述
我的数据集有 2 列和 300000 行,其中包含 1800 个组,我想按这些组拆分数据集并将它们绑定。
这些组可能有不同的长度。
例子
X<-data.frame(Dev=c("a","b","a","d","a"), value=(1,2,3,4,7))
Split<-split(X,f=X$Dev)
然后我必须 cbind 这些列表。
由于我有庞大的数据集,我无法从列表中提取每个列表。由于每个都有不同的长度,所以不允许直接使用 function cbind(Split)
。
请帮我解决这个问题。
解决方案
如果您的预期结果是一个数据框,您可以轻松地做到这一点pivot_wider()
library(tidyr)
X %>%
rowid_to_column() %>%
pivot_wider(names_from = Dev, values_from = value) %>%
select((-rowid))
如果您的真实数据框有两列以上,您可以省略该row_id
部分。有关更多示例,请参阅文档。
推荐阅读
- php - SQLSTATE[42S02] 说找不到基表或视图时出错 1146
- java - 如何在流 java 8 中处理 NoSuchElementException 和 NullPointerException
- javascript - 如何加密表单的内容(包括附件)
- angular - 有没有办法跳过 Angular 中的单元测试套件?
- c# - 在 Designtime 中使用 PictureBox 作为父级,为什么不可能?
- c# - Visual Studio 无法识别带有 .js 扩展名的 React 文件
- powershell - Powershell Format-Hex 不显示行尾。为什么?
- ruby - 如何找到连续的主题标签
- c# - 如何提高我的阅读电子邮件 c# web app 速度
- reactjs - 捆绑时未定义 React