我想聚合表格数据。 我的数据如下。
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
答案 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