本文介绍了计算唯一变量中的唯一变量 [R]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设这是我的数据:

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

我如何为每个单独的 X 的每个唯一变量 Y 计算 Z 的值,以便我可以获得一个看起来像的数据帧喜欢:

How do I count the values of Z for each unique variable Y for each separate X so that I can get a dataframe that looks like:

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

推荐答案

假设 dataframe 被命名为 'dat' 那么 aggregate.formula 这是聚合的泛型之一:

Assuming that dataframe is named 'dat' then aggregate.formula which is one of the generics of aggregate:

 > 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 的数据帧:

Could also have used xtabs which returns a table object and then turn it into a dataframe with as.data.frame:

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

这篇关于计算唯一变量中的唯一变量 [R]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-12 13:27