У меня есть следующий фрейм данных (упрощенный пример)
y.true yhat
1 U E
2 E U
3 U E
4 E U
5 E U
6 U E
7 E U
8 E E
9 U U
10 E E
Мне нужно рассчитать количество ложных отрицательных (y.true==U,yhat==E
) и ложных положительных (y.true==E,yhat==U
), где E = 0, U = 1 в моем случае. Конечно, я мог бы исправить a для l oop типа:
FP<-0
FN<-0
for (i in 1:dim(df.b)[1]) {
if (df.b[i,1]=='U' & df.b[i,2]=='E') {
FN<-FN+1
}
else if (df.b[i,1]=='E' & df.b[i,2]=='U') {
FP<-FP+1
}
}
Однако: есть ли более эффективный способ выполнить эту задачу, используя логическое индексирование вместо al oop?