在聚合函数上需要R编码的帮助

时间:2014-02-19 06:55:24

标签: r aggregate rows

我想聚合表格数据。 我的数据如下。

x                y
served           4d0e1e88-60a4-4e9e-f914-50fab6039d73
close            6ad31901-ed0d-4a12-a686-962bbd473018
served           6ad31901-ed0d-4a12-a686-962bbd473018
switchProduct    6ad31901-ed0d-4a12-a686-962bbd473018
served           6ad31901-ed0d-4a12-a686-962bbd473018
switchProduct    6ad31901-ed0d-4a12-a686-962bbd473019
switchProduct    6ad31901-ed0d-4a12-a686-962bbd473018
Click            6ad31901-ed0d-4a12-a686-962bbd473018
switchProduct    6ad31901-ed0d-4a12-a686-962bbd473018
Click            6ad31901-ed0d-4a12-a686-962bbd473014

我正在尝试聚合它,如下所示。

y                                 Click   close  served switchProduct
4d0e1e88-60a4-4e9e-f914-50fab6039d73            1   
6ad31901-ed0d-4a12-a686-962bbd473014    1           
6ad31901-ed0d-4a12-a686-962bbd473018    1   1   2   3
6ad31901-ed0d-4a12-a686-962bbd473019                1

但是在尝试获得上述预期输出时会得到此输出

aggregate(x$x,list(x$x,x$y),length)

y                                   x
4d0e1e88-60a4-4e9e-f914-50fab6039d73    1
6ad31901-ed0d-4a12-a686-962bbd473014    1
6ad31901-ed0d-4a12-a686-962bbd473018    7
6ad31901-ed0d-4a12-a686-962bbd473019    1

1 个答案:

答案 0 :(得分:1)

您可能希望使用table而不是aggregate

d <- read.table(text='x                y
served           4d0e1e88-60a4-4e9e-f914-50fab6039d73
close            6ad31901-ed0d-4a12-a686-962bbd473018
served           6ad31901-ed0d-4a12-a686-962bbd473018
switchProduct    6ad31901-ed0d-4a12-a686-962bbd473018
served           6ad31901-ed0d-4a12-a686-962bbd473018
switchProduct    6ad31901-ed0d-4a12-a686-962bbd473019
switchProduct    6ad31901-ed0d-4a12-a686-962bbd473018
Click            6ad31901-ed0d-4a12-a686-962bbd473018
switchProduct    6ad31901-ed0d-4a12-a686-962bbd473018
Click            6ad31901-ed0d-4a12-a686-962bbd473014', header=TRUE)

t(table(d))

                                      x
y                                      Click close served switchProduct
  4d0e1e88-60a4-4e9e-f914-50fab6039d73     0     0      1             0
  6ad31901-ed0d-4a12-a686-962bbd473014     1     0      0             0
  6ad31901-ed0d-4a12-a686-962bbd473018     1     1      2             3
  6ad31901-ed0d-4a12-a686-962bbd473019     0     0      0             1