R 计算两列案例的出现次数

R 计算两列案例的出现次数,r,dataframe,count,R,Dataframe,Count,我有一个数据帧: ID col1 col2 1 LOY A 2 LOY B 3 LOY B 4 LOY B 5 LOY A 我想根据col1和col2统计唯一值的出现次数。因此,期望的结果是: event count loy-a 2 loy-b 3 我该怎么做呢?这里有一个选项,我们可以将列转换为小写,然后将计数和合并将“col1”、“col2”转换为单个“事件”列 library(dplyr)

我有一个数据帧:

ID   col1  col2  
1    LOY    A
2    LOY    B
3    LOY    B
4    LOY    B
5    LOY    A
我想根据col1和col2统计唯一值的出现次数。因此,期望的结果是:

event    count
loy-a      2
loy-b      3

我该怎么做呢?

这里有一个选项,我们可以将列转换为小写,然后将
计数
合并
将“col1”、“col2”转换为单个“事件”列

library(dplyr)
library(tidyr)
df1 %>%
  mutate(across(c(col1, col2), tolower)) %>%
  count(col1, col2) %>%
  unite(event, col1, col2, sep='-')
-输出

 #  event n
#1 loy-a 2
#2 loy-b 3
注意:返回OP的预期输出


或使用
base R

with(df1, table(tolower(paste(col1, col2, sep='-'))))
数据
df1您也可以尝试:

library(dplyr)
#Code
new <- df %>% group_by(event=tolower(paste0(col1,'-',col2))) %>%
  summarise(count=n())
库(dplyr)
#代码
新%group_by(事件=tolower(粘贴0(col1,'-',col2)))%>%
总结(计数=n()
输出:

# A tibble: 2 x 2
  event count
  <chr> <int>
1 loy-a     2
2 loy-b     3
#一个tible:2x2
事件计数
1 loy-a 2
2 loy-b 3
使用的一些数据:

#Data
df <- structure(list(ID = 1:5, col1 = c("LOY", "LOY", "LOY", "LOY", 
"LOY"), col2 = c("A", "B", "B", "B", "A")), class = "data.frame", row.names = c(NA, 
-5L))
#数据
df
#Data
df <- structure(list(ID = 1:5, col1 = c("LOY", "LOY", "LOY", "LOY", 
"LOY"), col2 = c("A", "B", "B", "B", "A")), class = "data.frame", row.names = c(NA, 
-5L))