首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算R中数据中每个子字符串元素的总出现次数

问计算R中数据中每个子字符串元素的总出现次数
EN

Stack Overflow用户
提问于 2022-10-31 04:15:04
回答 1查看 28关注 0票数 -1

我有一个关于迪斯尼流媒体服务的数据集。

​

​

我对“演员”栏目特别感兴趣。数据类型是字符串,但我想知道电影的每个演员组成员出现了多少次。

代码语言:javascript
复制
| cast  | Number of occurrences |
| Winston Hibler  | 4  |
| Zac Efron       | 3  |

我是否需要将强制转换成员分成多个columns?

  • Should,我首先将数据类型更改为list?

我删除了具有空值的观察结果。

EN

回答 1

Stack Overflow用户

发布于 2022-10-31 04:57:51

可以使用tidyr::separate_rows()将强制转换成员拆分为不同的行,然后计数:

代码语言:javascript
复制
library(tidyr)
library(dplyr)

movies %>% 
  separate_rows(cast, sep = ", ") %>%
  count(cast)
代码语言:javascript
复制
# A tibble: 37 × 2
   cast                 n
   <chr>            <int>
 1 Ashley Tisdale       3
 2 Bella Thorne         1
 3 Chanelle Peloso      1
 4 Chang Liu            1
 5 Clancy Brown         1
 6 Daichi Harashima     1
 7 Devon Bostick        1
 8 Don Knotts           1
 9 Donnie Yen           1
10 Eden Espinosa        1
# … with 27 more rows

数据:

代码语言:javascript
复制
movies <- structure(list(title = c("Trail of the Panda", "Zapped", "Frenemies", 
"Tangled Before Ever After", "Diary Of A Wimpy Kid", "Diary of a Wimpy Kid: Rodrick Rules", 
"Chicken Little", "High School Musical 2", "High School Musical 3: Senior Year", 
"High School Musical", "Disney My Music Story: Yoshiki", "Mulan", 
"Wolfgang", "In Beaver Valley", "Nature's Half Acre", "Water Birds", 
"The Olympic Elk"), director = c("Zhong Yu", "Peter DeLuise", 
"Daisy Mayer", "Tom Caulfield, Stephen Sandoval", "Thor Freudenthal", 
"David Bowers", "Mark Dindal", "Kenny Ortega", "Kenny Ortega", 
"Kenny Ortega", "Kentaro Takayanagi", "Niki Caro", "David Gelb", 
"James Algar", "James Algar", "Ben Sharpsteen", "James Algar"
), cast = c("Zhong Yu, Zhang Qi, Daichi Harashima, Li Feng, Chang Liu", 
"Zendaya, Chanelle Peloso, Spencer Boldman", "Zendaya, Bella Thorne, Mary Mouser, Nick Robinson", 
"Zachary Levi, Mandy Moore, Eden Espinosa, Clancy Brown", "Zachary Gordon, Robert Capron, Rachel Harris, Steve Zahn", 
"Zachary Gordon, Devon Bostick, Rachael Harris", "Zach Braff, Garry Marshall, Don Knotts, Patrick Stewart", 
"Zac Efron, Vanessa Hudgens, Ashley Tisdale, Lucas Grabeel", 
"Zac Efron, Vanessa Hudgens, Ashley Tisdale, Lucas Grabeel", 
"Zac Efron, Vanessa Hudgens, Ashley Tisdale, Lucas Grabeel", 
"YOSHIKI", "Yifei Liu, Donnie Yen, Gong Li, Jet Li, Jason Lee", 
"Wolfgang Puck", "Winston Hibler", "Winston Hibler", "Winston Hibler", 
"Winston Hibler")), row.names = c(NA, -17L), class = c("tbl_df", 
"tbl", "data.frame"))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74258685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档