本文介绍了计算唯一变量中的唯一变量 [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]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!