"Цель (у) не найдена или не является числовой"
Я пытаюсь использовать пакет smbinning в программном обеспечении R, чтобы найти оптимальные привязки к определенной переменной. Выполнение команды
result=smbinning(df=bop,y="FLAG_TARGET",x="VL_TOTL_REND",p=0.05)
возвращает следующее сообщение об ошибке:
"Цель (у) не найдена или не числовая"
Что здесь происходит? FLAG_TARGET
является числовым, и я уже пытался изменить формат данных на целое число, но это не работает.
Есть ли решение этой проблемы?
1 ответ
Это потому что bop
это не фрейм данных, вы должны конвертировать BOP в фрейм данных с as.data.frame(bop)
, Если вы посмотрите полный код smbinning ( https://github.com/cran/smbinning/blob/master/R/smbinning.R#L490), здесь есть этот блок
i=which(names(df)==y) # Find Column for dependant
j=which(names(df)==x) # Find Column for independant
if (!is.numeric(df[,i]))
{
return("Target (y) not found or it is not numeric")
}
после установки y в качестве имени целевого столбца и x в качестве имени столбца предиктора, попробуйте запустить
i = which(names(bop) == y)
j = which(names(bop) == x)
is.numeric(bop[,i])
если bop не является фреймом данных, он вернет FALSE
, После запуска bop_dataframe <- as.data.frame(bop)
и работает
is.numeric(bop_dataframe[,i])
должно вернуться TRUE