将数据从列转置为行

3
我计划使用基于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个回答

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


很棒的解决方案。非常感谢你。一个快速的请求。我不是R专家,但没关系。有一个请求...是否可以在“总金额”左右两侧添加“:”? 另外,我能否去掉“dx $Transaction:1001”的标题? 我需要处理几百万行的代码。期望输出为... 200 201 202 205:60:14 13 16 17 300 305 200:53:11 12 30 - Murali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接