r - 在整个数据框中统计()多个观测值
问题描述
我无法弄清楚如何处理包含我想要统计的多个观察结果的列。例如:
HTML/CSS;Java;JavaScript;Python;SQL
这是数据框一列的单元格之一,我想统计每种编程语言的出现次数。这是应该用 str_detect()、corpus() 解决的问题,还是有另一种我没有看到的方法?
我的目标是将这些语言(HTML、CSS、Java、JavaScript、Python、SQL 等)中的每一种都制成一个列名,并记录它们在数据框的这一列中出现的次数。
我觉得我的措辞可能很奇怪,所以如果您需要任何澄清,请告诉我。
解决方案
在tidyverse
您可以使用separate_rows
和count
。
library(dplyr)
df %>% tidyr::separate_rows(PL, sep = ';') %>% count(PL)
在base R中,我们可以用分号分割字符串并用 计数table
:
table(unlist(strsplit(df$PL, ';')))
#If you need a dataframe
#stack(table(unlist(strsplit(df$PL, ';'))))
推荐阅读
- javascript - 可以在位掩码中安全使用的 Javascript 的最高值是多少?
- sql-server - SQL 中的 Unpivot - 查看首选
- sql - 从另一个系统获取数据时选择 id 的最佳实践
- c# - ASP .Net CORE 3.1 - 抛出错误异常:Microsoft.CSharp.dll 中的“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”
- angular - 重用自定义指令在 Angular Bootstrap 中创建可排序表
- google-apps-script - 其他用户在 GAS Web 应用中触发执行失败
- ruby-on-rails - 了解 Ruby on Rails 6 中的路由 + 模块/类名称 [以及在此上下文中模块是什么]
- shell - 将 n*expression 替换为 n 倍的表达式
- javascript - 如果我们在 javascript 中只对“if...else”语句使用“else”块怎么办?
- c - 使用 DMDAVecGetArray 时 PETSc 内存损坏