首页 > 解决方案 > 在整个数据框中统计()多个观测值

问题描述

我无法弄清楚如何处理包含我想要统计的多个观察结果的列。例如:

HTML/CSS;Java;JavaScript;Python;SQL

这是数据框一列的单元格之一,我想统计每种编程语言的出现次数。这是应该用 str_detect()、corpus() 解决的问题,还是有另一种我没有看到的方法?

我的目标是将这些语言(HTML、CSS、Java、JavaScript、Python、SQL 等)中的每一种都制成一个列名,并记录它们在数据框的这一列中出现的次数。

我觉得我的措辞可能很奇怪,所以如果您需要任何澄清,请告诉我。

标签: rdataframeuniquetally

解决方案


tidyverse您可以使用separate_rowscount

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, ';'))))

推荐阅读