计算R中有多列的数据表中值的频率?

时间:2016-07-29 00:13:36

标签: r

说我有这样的数据表:

id       days       age
"jdkl"   8          23
"aowl"   1          09
"mnoap"  4          82
"jdkl"   3          14
"jdkl"   2          34
"mnoap"  27         56

我想创建一个新数据表,其中一列包含id,一列包含它们出现的次数。我知道数据表有= .N的东西,但我不知道如何只用一列。

最终数据表如下所示:

id          count
"jdkl"      3
"aowl"      2
"mnoap"     1

2 个答案:

答案 0 :(得分:0)

您可以使用table基地的R

as.data.frame(sort(table(df$id), decreasing = T))

但是,如果您想使用data.table

进行此操作
library(data.table)
setDT(df)[, .(Count = .N), by = id][order(-Count)]

或者有dplyr解决方案

library(dplyr)
df %>% count(id) %>% arrange(desc(n))

答案 1 :(得分:0)

我们可以使用

=IF( ISBLANK(A1), "", timeStamp() )

或使用library(dplyr) df %>% group_by(id) %>% summarise(Count = n()) %>% arrange(desc(Count))

中的aggregate
base R