Страница 1 из 1
Если ошибка - применить другую функцию. smbinning
Добавлено: 13 фев 2016, 19:48
AnnaK
Есть функция smbinning двух типов: один тип рассматривает входящий аргумент как интервал, а другой тип - как дискретные величины. В первую очередь я применяю первую функцию. Но если она не подходит, нужно применять вторую. Можно ли применить какой-то оператор или функцию, чтобы при результате "Ошибка в result :$ operator is invalid for atomic vectors" программа переходила к другой функции?
Я раньше всю подобную работу делала в SAS. Там были либо макросы, либо Miner. В R я пытаюсь посчитать все по аналогии. Но либо изобретаю велосипед, либо иду не по той дороге. Буду благодарна за любые советы.
Re: Если ошибка - применить другую функцию. smbinning
Добавлено: 13 фев 2016, 20:32
gamm
у вас какой-то "сумбур вместо музыки" (с). Напишите внятно, чего вы хотите, и кто вам мешает не допускать ошибку. Что на входе, что на выходе, и что мешает кормить функции правильными данными. Пример приведите, где ошибка возникает.
Re: Если ошибка - применить другую функцию. smbinning
Добавлено: 13 фев 2016, 21:08
AnnaK
Если result=smbinning(df=train,y="BAD",x="VAR_1",p=0.05) выдает ошибку, нужно посчитать result=smbinning.factor(df=train,y="BAD",x="VAR_1") (предварительно меняю тип x на factor). Пытаюсь засунуть все это в цикл. Первая функция не работает если в векторе x меньше 10 разнообразных значений - где-то я встретила такое объяснение. В общем задать условие я не могу. Или мне не хватает знаний.
Re: Если ошибка - применить другую функцию. smbinning
Добавлено: 14 фев 2016, 10:02
nplatonov
?try
Re: Если ошибка - применить другую функцию. smbinning
Добавлено: 14 фев 2016, 12:53
gamm
AnnaK писал(а): Или мне не хватает знаний.
я не понял, что мешает прочитать хелп (и посмотреть текст самой функции), и проверить условия применимости функции, прежде, чем ее вызывать? это если не вникать, что за задача решается, может если не хватает данных, то и решать не нужно ...
Re: Если ошибка - применить другую функцию. smbinning
Добавлено: 14 фев 2016, 22:12
AnnaK
У меня есть задача и я пытаюсь ее решить. Где и как посмотреть текст функции (как она рассчитывает результат) - я не знаю. Задавая вопрос в теме, я думала, что вдруг есть какая-то функция типа "=ЕСЛИОШИБКА(;)" в Excel.
Re: Если ошибка - применить другую функцию. smbinning
Добавлено: 14 фев 2016, 22:50
gamm
Все исходники всех функций есть на сайте R. Требования к данным написаны в хелпе. И если вы получаете ошибку, то почти наверняка что-то не то делаете, и бороться нужно не с ошибкой ... Но если очень хочется, выше уже указали на искомую фунцию try.
[ Сообщение с мобильного устройства ]