R语言 如何计算数据框中数据点的出现次数?

brccelvz  于 2023-01-10  发布在  其他
关注(0)|答案(2)|浏览(148)

我有一个表,我只想保留和计算字符串A和D在其中最常见的id,例如,A和D在id“abc”中的出现频率要比在id“hil”中的出现频率高。
| 弦|身份证|启动|结束|
| - ------|- ------|- ------|- ------|
| A类|美国广播公司|无|1个|
| A类|美国广播公司|第二章|三个|
| B|电子重力仪|1个|三个|
| A类|希尔|五个|六个|
| A类|美国广播公司|六个|七|
| D级|美国广播公司|七|八个|
| D级|美国广播公司|1个|第二章|
| D级|希尔|三个|四个|
我怎样才能获得那些字符串最常用的id呢?

c9qzyr3d

c9qzyr3d1#

您可以使用以下代码:

df %>% 
  filter(string == "A" | string == "D") %>%
  group_by(id) %>%
  count(id) %>%
  arrange() %>%
  ungroup() %>%
  slice(1)

输出:

# A tibble: 1 × 2
  id        n
  <chr> <int>
1 abc       5
zpf6vheq

zpf6vheq2#

在以R为底的情况下,可以为每个string获得最常见的id,如下所示:

apply(table(df$id, df$string), 2, function(x) {
   rownames(table(df$id, df$string))[which.max(x)] })
#>     A     B     D 
#>  "abc" "efg" "abc"

相关问题