r - 拆分列中的值
问题描述
抱歉,我是 R 新手,但我有一些如下所示的数据:
我想计算调查结果中提到每个对象的次数。所以结果看起来像这样:
我已经尝试过 tidyverse 和分离但似乎无法掌握它,任何帮助都会很棒,在此先感谢!
要重新创建我的数据:
df <- data.frame(
col_1 = paste0("image", 1:5),
findings = c("rock|cat|sun", "cat", "cat|dog|fish|sun", "sun", "dog|cat")
)
解决方案
您可以使用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))
推荐阅读
- assembly - 设置小于立即无符号:可表示整数的范围 - MIPS
- twitter-bootstrap - Bootstrap 5 > 相册示例 > 如何确保所有卡片的宽度相同(最大 xxx 宽度和最大高度)
- reactjs - 如何在新页面中显示来自 JSON 的结果?
- python - 将特定行转置为 pandas 中的列
- c - 在不取消引用的情况下保持指针越界是否安全?
- python - 正则表达式:如何忽略连接词中的点
- c# - Unity + C#:GameObject.FindGameObjectsWithTag 不起作用?
- python - 如何调整图像大小以最终具有相同的尺寸?
- node.js - 检查 Discord.js 上特定消息的反应?
- php - 可以读取但不能使用 PHP MySQLi 创建/更新