Предположим, у меня есть следующие данные:
data <- data.frame(Opt_1 = c("AA", "GG", "CC", "GG"),
Opt_2 = c("AT", "GC", "CG", "CG"),
Opt_3 = c("TA", "CG", "GC", "GC"),
Opt_4 = c("TT", "CC", "GG", "CC"),
prob_1 = c(0.025, 0.025, 0.925, 0.025),
prob_2 = c(0.025, 0.925, 0.025, 0.025),
prob_3 = c(0.925, 0.025, 0.025, 0.025),
prob_4 = c(0.025, 0.025, 0.025, 0.925))
Opt_1 Opt_2 Opt_3 Opt_4 prob_1 prob_2 prob_3 prob_4
AA AT TA TT 0.025 0.025 0.925 0.025
GG GC CG CC 0.025 0.925 0.025 0.025
CC CG GC GG 0.025 0.025 0.025 0.925
GG CG GC CC 0.925 0.025 0.025 0.025
Я хотел бы определить новый столбец, который захватывает для каждой строки значение Opt с максимальной вероятностью. Вывод наподобие следующего:
Opt_1 Opt_2 Opt_3 Opt_4 prob_1 prob_2 prob_3 prob_4 out
AA AT TA TT 0.025 0.025 0.925 0.025 TA
GG GC CG CC 0.025 0.925 0.025 0.025 GC
CC CG GC GG 0.025 0.025 0.025 0.925 GG
GG CG GC CC 0.925 0.025 0.025 0.025 GG
Я написал for()
l oop, но это занимает вечность, так как база данных довольно большая.