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))