Вы можете сгруппировать по столбцам, а затем добавить столбец с размером группы. Это легко сделать в dplyr
:
library(dplyr)
dat <- data.frame(col=c("red", "red", "red", "blue"), shape=c("oval", "oval", "circle", "circle"))
dat %>% group_by(col, shape) %>% mutate(ct=n()) %>% ungroup()
# # A tibble: 4 x 3
# col shape ct
# <fct> <fct> <int>
# 1 red oval 2
# 2 red oval 2
# 3 red circle 1
# 4 blue circle 1
Если вместо этого вы хотите свернуть все повторяющиеся строки в одну строку с соответствующим счетчиком, то dat %>% count(col, shape)
, как предложено @RonakShah в комментариях , это путь к go.