вы можете использовать комбо apply
и table
(при условии, что вы читаете свои данные в R):
dat <- data.frame(process1 = c('A', 'B', 'A', 'A', 'C'), process2 = c('B', 'C', 'B', 'B', 'A'), process3 = c('C', 'C', 'A', 'B', 'B'))
apply(dat, 2, table)
# process1 process2 process3
#A 3 1 1
#B 1 3 2
#C 1 1 2
apply
перебирает столбцы dat
(это то, что аргумент2
относится к) и применяется table
к каждому, что подсчитывает каждый уникальный элемент.см. справочные страницы для семейства функций *apply
для получения дополнительной информации.
Решение db выше, lapply(dat, table)
, делает то же самое, но возвращает список, а не матрицу.