我正在研究在pig脚本或r脚本中生成虚拟变量或二进制变量的设计思想
问题:输入到pig脚本:任何任意关系如下表所示
A B C
a1 b1 c1
a2 b2 c2
a1 b1 c3
假设我们必须基于b生成二进制列,c的输出应该是
A B C B.b1 B.b2 C.c1 C.c2 C.c3
a1 b1 c1 1 0 1 0 0
a2 b2 c2 0 1 0 1 0
a1 b1 c3 1 0 0 0 1
我认为写自定义项是正确的方法。但是,我不知道如何定义自定义项的输出模式,因为列名是由用户提供的,我们不知道在关系中需要生成多少不同的列。请有人指导我作为一个高水平的设计来实现它。我们有没有在线解决这个统计问题的方法
2条答案
按热度按时间vaqhlq811#
mec1mxoz2#
你可以试试
cSplit_e
从library(splitstackshape)
在R
```cSplit_e(cSplit_e(df, 'B', type='character', fill=0, 'binary'),
'C', type='character', fill=0, 'binary')
A B C B_b1 B_b2 C_c1 C_c2 C_c3
#1 a1 b1 c1 1 0 1 0 0
#2 a2 b2 c2 0 1 0 1 0
#3 a1 b1 c3 1 0 0 0 1