У меня есть огромный фрейм данных с несколькими именами переменных после последовательности. Чтобы упростить, я создал пример с 8 переменными, последние 5 переменных следуют последовательности в имени столбца: I5min_thre sh .118, I5min_thre sh .118.5, I5min_thre sh .119, I5min_thre sh .119.5, I5min_thre sh .120).
Последовательность в именах переменных является лишь примером и может расходиться, например, имя последовательности переменных может составлять от 60 до 180 с шагом 0,1 (в данном примере от 118 до 120 с шагом 0,5).
Воспроизводимый фрейм данных:
df<-data.frame(Event=c("yes","yes","yes","no","no","no","no","no","no"),
mois=c(0.3,0.2,0.2,0.3,0.3,0.3,0.3,0.3,0.2),
I_float=c(96.0,100.8,96.0,21.6,10.8,10.8,16.8,8.4,16.8),
Imax.118=c(95.0,105.0,77.0,15.0,5.0,49.7,53.8,51.2,57.8),
Imax.118.5=c(97.0,90.0,100.0,16.0,15.0,50.2,54.3,51.7,58.3),
Imax.119=c(98.0,110.0,78.0,51.4,8.0,50.7,54.8,52.2,58.8),
Imax.119.5=c(99.8,71.0,80.0,51.9,51.2,51.2,55.3,52.7,59.3),
Imax.120=c(54.6,71.5,79.0,52.4,51.7,51.7,55.8,53.2,59.8))
Вот как выглядит фрейм данных:
Я хотел бы подсчитайте для каждого Imax следующие переменные и сохраните его в новом фрейме данных:
- количество раз I_float> = Imax, если Event = yes, как переменная TP.
- количество времена I_float
- количество раз I_float> = Imax, если событие = нет, в качестве переменной FP.
- количество раз, I_float
Полученный кадр данных должен выглядеть следующим образом, где Yintercept равен порядковому номеру, указанному в переменной Imax:
Пока мне удалось вычислить только TP, FN, TN и FP для 1 переменной , скажем, для переменной Imax.118, точно указав имя переменной в коде r (Imax.118) (первая строка предыдущего примера). Я не могу использовать метод вручную, так как у меня есть сотни переменных в реальном фрейме данных после последовательности имен.
Любая помощь будет высоко оценена.