首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算R中每个列值的频率组合?

如何计算R中每个列值的频率组合?
EN

Stack Overflow用户
提问于 2021-02-12 15:31:39
回答 1查看 48关注 0票数 0

在原始数据集中,我有3k+行和2列- id和id可以在实践中应用的语言。我的第一步是找到所选语言的频率组合。例如,有多少次Python与R、SQL一起被选中;或者有多少次Java与JavaScript、C++等一起被选中。

一些关于Stackoverflow的研究帮助我找到了这些可能的模式。下面是一些带有样本数据集的代码:

代码语言:javascript
复制
sample <- data.frame(id = rep(randomNames::randomNames(4), each = 4),
                     programming = c("R", "Python", "C#", "Other",
                                     "R", "Tableu", "Assembler",
                                     "Other", "Java", "JavaScript",
                                     "Python", "C#","R", "Python", "C#",
                                     "Other"))
gr <- sample %>%
  group_by(id) %>%
  arrange(programming) %>%
  summarise(programming = paste(sort(unique(programming)), collapse = ", ")) %>%
  count(programming)

但现在我想知道如何才能找到每种语言最常用的选项的数量。例如,R语言在Java和Kotlin中被选中的次数很少,这不是一个非常流行的设置。但是用Python和SQL选择的R更受欢迎。我的目的是找出哪些语言被选中的频率最高。

我也做了一些研究(example),不幸的是,没有找到解决方案。

我想我应该迭代我的programming列以找到所有可能的选择(R + ...,Python + ...;然后R+ Python + ...)。我尝试使用lapply,但在编写lambda函数时遇到了困难。

解决这个问题的可能方法是什么?有没有有效的功能来达到这个目的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-12 16:04:17

一种选择是在每个idcount中创建语言组合,这些组合最常一起出现。..。

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

sample %>%
  group_by(id) %>%
  summarise(programming = combn(sort(programming), 2, 
                                paste0, collapse = '-'), .groups = 'drop') %>%
  count(programming, sort = TRUE)

#   programming           n
#   <chr>             <int>
# 1 C#-Python             3
# 2 Other-R               3
# 3 C#-Other              2
# 4 C#-R                  2
# 5 Other-Python          2
# 6 Python-R              2
# 7 Assembler-Other       1
# 8 Assembler-R           1
# 9 Assembler-Tableu      1
#10 C#-Java               1
#11 C#-JavaScript         1
#12 Java-JavaScript       1
#13 Java-Python           1
#14 JavaScript-Python     1
#15 Other-Tableu          1
#16 R-Tableu              1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66167864

复制
相关文章

相似问题

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