将数据从列转置为行

时间:2015-03-28 06:29:36

标签: sql-server r excel

我打算通过基于java的SPMF工具开展“高效工具集挖掘”工作。但问题是在将数据加载到SPMF之前将数据转换为正确的格式。

我目前的格式:

 Transaction #  Item    Amount

        1001    200 14
        1001    201 13
        1001    202 16
        1001    205 17
        1002    300 11
        1002    305 12
        1002    200 30

所需输出:(无需交易编号,每笔交易为一行)

200 201 202 205:60:14 13 16 17
300 305 200:53:11 12 30 

所需输出的说明:

200 201 202 205 --->   are Items (left of 1st row)
14 13 16 17      --->  are Amount (right of first row)
:60:          ---->    is total amount of transaction # 1001 (14+13+16+17)

我愿意接受任何解决方案。我可以将当​​前格式加载到SQL中,并通过SQL查询提取数据,如果我得到正确的查询来实现我的输出。 请帮忙。

1 个答案:

答案 0 :(得分:4)

使用by例如:

by(dx,dx$Transaction,function(x)c(x$Item,sum(x$Amount),x$Amount))

dx$Transaction: 1001
[1] 200 201 202 205  60  14  13  16  17
------------------------------------------------------------------------------- 
dx$Transaction: 1002
[1] 300 305 200  53  11  12  30