Age <- c(90,56,51,64,67,59,51,55,48,50,43,57,44,55,60,39,62,66,49,61,58,55,45,47,54,56,52,54,50,62,48,52,50,65,59,68,55,78,62,56)
Tenure <- c(2,2,3,4,3,3,2,2,2,3,3,2,4,3,2,4,1,3,4,2,2,4,3,4,1,2,2,3,3,1,3,4,3,2,2,2,2,3,1,1)
df <- data.frame(Age, Tenure)
我试图计算Tenure
的唯一值,因此我使用table()
函数查看频率
table(df$Tenure)
1 2 3 4
5 15 13 7
但我很想知道aggregate()
功能显示的内容?
aggregate(Age~Tenure , df, function(x) length(unique(x)))
Tenure Age
1 1 3
2 2 13
3 3 11
4 4 7
这两个输出之间有什么区别?
答案 0 :(得分:4)
造成差异的原因是您在unique
中加入了aggregate
。您按照终身教职数计算不同年龄的数量,而不是终身教职的年龄数。要使用aggregate
尝试
aggregate(Age~Tenure , df, length)
Tenure Age
1 1 5
2 2 15
3 3 13
4 4 7