Функция результатов усиления не может быть приведена к типу 'double' - PullRequest
0 голосов
/ 02 декабря 2018
sortedSL=sort(iris$Sepal.Length)
gainsV<-NULL
splitV<-NULL
library(gains)
for(i in 1:NROW(sortedSL))
{
  splitVal=sortedSL[i]
  iris$new=0
  if(sum(iris$Sepal.Length>splitVal)>0)
  {
    iris[iris$Sepal.Length>splitVal,]$new=1
  }
  gainsV<-c(gainsV,gains(iris$Sepal.Length, iris$new))
  splitV <-c(splitV, splitVal)
}
finalSplitV<-splitV[which.max(gainsV)]

Я набираю код выше, но увидел это сообщение об ошибке Ошибка, в которой .max (gainsV): (список) объект не может быть приведен к типу 'double'

Пожалуйста, сообщите.Спасибо.

1 Ответ

0 голосов
/ 02 декабря 2018

По общему признанию, это должен быть комментарий, но параметры форматирования комментариев слишком ограничены для отображения результатов str () для сложных объектов.Вы получаете ошибки, но вы игнорируете то, что я подозреваю, являются важными предупреждениями;

There were 50 or more warnings (use warnings() to see the first 50)

... из этой строки кода:

  gainsV<-c(gainsV,gains(iris$Sepal.Length, iris$new))

Просмотр

 str(gainsV)
 #============
List of 2265
 $ depth            : num [1:2] 99 100
 $ obs              : int [1:2] 149 1
 $ cume.obs         : int [1:2] 149 150
 $ mean.resp        : num [1:2] 5.85 4.3
 $ cume.mean.resp   : num [1:2] 5.85 5.84
 $ cume.pct.of.total: num [1:2] 0.995 1
 $ lift             : num [1:2] 100 74
 $ cume.lift        : num [1:2] 100 100
 $ mean.prediction  : num [1:2] 1 0
 $ min.prediction   : num [1:2] 1 0
 $ max.prediction   : num [1:2] 1 0
 $ conf             : chr "none"
 $ optimal          : logi FALSE
 $ num.groups       : int 2
 $ percents         : logi FALSE
 $ depth            : num [1:2] 97 100
 $ obs              : int [1:2] 146 4
 $ cume.obs         : int [1:2] 146 150
 $ mean.resp        : num [1:2] 5.88 4.38
 $ cume.mean.resp   : num [1:2] 5.88 5.84
 $ cume.pct.of.total: num [1:2] 0.98 1
 $ lift             : num [1:2] 101 75
 $ cume.lift        : num [1:2] 101 100
 $ mean.prediction  : num [1:2] 1 0
 $ min.prediction   : num [1:2] 1 0
 $ max.prediction   : num [1:2] 1 0
 $ conf             : chr "none"
 $ optimal          : logi FALSE
 $ num.groups       : int 2
 $ percents         : logi FALSE
 $ depth            : num [1:2] 97 100
 $ obs              : int [1:2] 146 4
 $ cume.obs         : int [1:2] 146 150
 $ mean.resp        : num [1:2] 5.88 4.38
 #### output at your console would continue for much longer

Я подозреваю, что это не та структура, которую вы имели в виду, но, поскольку цели этих усилий не были описаны, я не могу знать это с какой-либо степенью уверенности.

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