R - Подсчет повторяющихся значений для каждой строки
Я работаю над фреймом данных, который требует расчета Каппы Флейса для межрайонных соглашений. Для этого я использую пакет irr.
Кроме того, для каждого наблюдения мне нужно подсчитать, сколько экспертов согласны.
Мои данные выглядят так:
a b c
1 1 1 1
2 1 2 2
3 2 3 2
4 3 3 1
5 4 2 1
Я ожидаю что-то вроде этого, где рассчитывать число оценщиков по соглашению
a b c count
1 1 1 1 3
2 1 2 2 2
3 2 3 2 2
4 3 3 1 2
5 4 2 1 0
Большое спасибо.
1 ответ
Альтернативное решение, если ваши данные находятся во фрейме данных, называемом abc
:
as.numeric(apply(abc,1,function(x) {
ux<-unique(x);
tab <- tabulate(match(x, ux));
mode <- ux[tab == max(tab)];
ifelse(length(mode)==1,length(which(x==mode)),NA_character_);
} ))
Когда вы запускаете это дает:
[1] 3 2 2 2 NA