首页 > 解决方案 > 拆分列中的值

问题描述

抱歉,我是 R 新手,但我有一些如下所示的数据:

在此处输入图像描述

我想计算调查结果中提到每个对象的次数。所以结果看起来像这样:

在此处输入图像描述

我已经尝试过 tidyverse 和分离但似乎无法掌握它,任何帮助都会很棒,在此先感谢!

要重新创建我的数据:

df <- data.frame(
  col_1 = paste0("image", 1:5),
  findings = c("rock|cat|sun", "cat", "cat|dog|fish|sun", "sun", "dog|cat")
)

标签: rtidyverse

解决方案


您可以使用separate_rows()然后count().

library(tidyverse)

df %>%
  separate_rows(findings) %>%
  count(findings)

# # A tibble: 5 x 2
#   findings     n
#   <chr>    <int>
# 1 cat          4
# 2 dog          2
# 3 fish         1
# 4 rock         1
# 5 sun          3

数据

df <- structure(list(col_1 = c("image_1", "image_2", "image_3", "image_4", 
"image_5"), findings = c("rock|cat|sun", "cat", "cat|dog|fish|sun", 
"sun", "dog|cat")), class = "data.frame", row.names = c(NA, -5L))

推荐阅读