R 如何在不影响内存限制的情况下旋转大数据帧(或矩阵)?
我有一个数百万行的数据框,代表购买产品的客户。我需要将其从长格式改为宽格式,以便每行表示客户购买每种产品的次数 例如,这将创建一个模拟数据集R 如何在不影响内存限制的情况下旋转大数据帧(或矩阵)?,r,R,我有一个数百万行的数据框,代表购买产品的客户。我需要将其从长格式改为宽格式,以便每行表示客户购买每种产品的次数 例如,这将创建一个模拟数据集 # Create mock dataset of 1 million customers and thousands of products. df <- data.frame(cust = 1:1e6) products = paste0(sample(letters, 1e6, replace = T), " - ",
# Create mock dataset of 1 million customers and thousands of products.
df <- data.frame(cust = 1:1e6)
products = paste0(sample(letters, 1e6, replace = T), " - ",
sample(1:1000, 1e6, replace = T))
df$prod <- products
df$orders <- floor(rpois(1e6, 2))
如何在不影响内存限制的情况下旋转大数据帧(或矩阵)
结果数据应如下所示:
cust item1 item2 ...
1 0 2
2 4 0
... ... ...
1000000 0 1
- 我不需要使用数据帧
- 我不需要使用tidyverse;欢迎使用base R解决方案
库(矩阵)
客户这正是我所需要的。谢谢你,亚当!一旦我有了足够的声誉,我会把它升级。
cust item1 item2 ...
1 0 2
2 4 0
... ... ...
1000000 0 1