dplyr的多变量分区

问题描述

我有一个大型数据框,其中包含超过一百万个观测值。我的两个自变量AB分别具有18和72个数字标记的类别。为简单起见,假定类别分别标记为1-181-72。我想将我的所有数据分成36组,每组6个,(A 1-6 with B 1-6,A 1-6 with B 7-12,etc.) 当前,我正在使用带有36个嵌套ifelse语句(例如mutate)的dplyr的mutate(partition = ifelse(A <= 6 & B <= 6,1,ifelse(...))),但是如果我想制作不同大小的分区,这将很繁琐且难以更改。

另一种描述方式是参数18 * 72 = 1296有唯一的参数A和B的组合,但是我想将这1296分为36个观测值的36组,可以灵活地改变观测值和组。

我真的觉得应该有一种更好的方法来对数据进行分区,但是没有立即想到的东西。我唯一的另一个想法是使用expand.grid并使用各种连接。还有哪些其他方法可以对数据进行分区?

下面的示例是我希望数据显示的一种方式。

A    B    Partition
1    1    1
1    2    1
1    3    1
1    4    1
1    5    1
1    6    1
2    1    1
...  ...  ...
6    6    1
7    1    2
...  ...  ...
12   71   12
12   72   12
13   1    13
...  ...  ...
18   70   36
18   71   36
18   72   36

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)