Я пытаюсь написать цикл, который определяет, какая ячейка имеет наибольшее значение, и выбрать эту ячейку в результате с высокой средней или низкой строкой. Вот данные для опробования.
data <- matrix(c(0.3000003,0.3299896,0.3700101,
0.3299896,0.3700101,0.3000003,
0.3700101,0.3000003,0.3299896,
0.3000003,0.3299896,0.3700101,
0.3299896,0.3700101,0.3000003,
0.3700101,0.3000003,0.3299896),6,3)
colnames(data) <- c("Low","Medium","High")
rownames(data) <- paste("case",1:6)
> data
Low Medium High
case 1 0.3000003 0.3700101 0.3299896
case 2 0.3299896 0.3000003 0.3700101
case 3 0.3700101 0.3299896 0.3000003
case 4 0.3299896 0.3000003 0.3700101
case 5 0.3700101 0.3299896 0.3000003
case 6 0.3000003 0.3700101 0.3299896
Я использую эту функцию, но похоже, что она вычисляет только первую строку.
assign.levels <- function(data) {
for (i in nrow(data)) {
scored.thetas.1 <- names(which.max(data[i,1:3])) ## I wrote 1:3 here becasue I have multiple coloumns in the original dataset.
return(scored.thetas.1)
}
}
> assign.levels(data)
[1] "Medium"
Есть мысли?
Заранее спасибо!