Получить коэффициент с метками / уровнями в качестве имени столбца с максимальным значением. Проблема с пониженным уровнем - PullRequest
0 голосов
/ 31 марта 2020

Итак, я только что получил прогноз полиномиальной логистической модели c, которая дает вероятности моих классов (столбцов) из моих данных.

Я получил что-то вроде этого.

enter image description here

Проблема в том, что я создал функцию для получения имени столбца с максимальное значение, сохраните его в векторе и добавьте метки с тем же именем, что и мои столбцы. НО, поскольку я не получаю никакого значения в качестве пятого столбца, он не работает.

max_name_col <- function(df, vec =c(1:5)) {


  etiq = colnames(df[,vec])
  return (factor((colnames(df[,vec])[apply(df[,vec],1,which.max)]), labels=etiq))
}

И если я не использую его и пытаюсь вычислить его самостоятельно, уровни меняются, и поскольку я потерял третий столбец (Каждая вероятность этого действительно очень мала), поэтому я не могу сравнить его с исходным классом. (Так как мой 4-й класс действительно является 5-м в исходных данных).

¿Как я могу изменить свою функцию, чтобы она работала, несмотря на то, что в моем столбце нет значения max_value, которое "падает"?

1 Ответ

0 голосов
/ 31 марта 2020

Хорошо, я решил это. Просто добавьте уровни, чтобы они соответствовали названиям столбцов.

max_name_col <- function(df, vec =c(1:5)) {


  etiq = colnames(df[,vec])
  return (factor((colnames(df[,vec])[apply(df[,vec],1,which.max)]), levels=etiq, labels=etiq))
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...