计算唯一变量中的唯一变量[R]

时间:2014-04-09 13:18:52

标签: r sum unique

假设这是我的数据:

X   Y   Z
1   1   2323   
1   1   45
1   1   67 
1   2   1
1   2   90
1   3   34
1   3   1267
1   3   623
1   4   81
1   4   501
2   1   456
2   1   78
2   2   41
2   2   56
2   3   90
2   3   71
2   4   24
2   4   98
2   5   42
2   5   361

如何为每个单独的Z计算每个唯一变量Y的{​​{1}}值,以便我可以获得如下所示的数据框:

X

1 个答案:

答案 0 :(得分:1)

假设数据框名为'dat',那么aggregate.formula是聚合的泛型之一:

 > aggregate( Z ~ X + Y, data=dat, FUN=sum)

  X Y    Z
1 1 1 2435
2 2 1  534
3 1 2   91
4 2 2   97
5 1 3 1924
6 2 3  161
7 1 4  582
8 2 4  122
9 2 5  403

也可以使用xtabs返回一个表对象,然后将其转换为带有as.data.frame的数据框:

 as.data.frame( xtabs( Z ~ X+Y, data=dat) )