Если ошибка - применить другую функцию. smbinning

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
AnnaK
Новоприбывший
Сообщения: 10
Зарегистрирован: 09 фев 2016, 11:03
Репутация: 0

Если ошибка - применить другую функцию. smbinning

Сообщение AnnaK » 13 фев 2016, 19:48

Есть функция smbinning двух типов: один тип рассматривает входящий аргумент как интервал, а другой тип - как дискретные величины. В первую очередь я применяю первую функцию. Но если она не подходит, нужно применять вторую. Можно ли применить какой-то оператор или функцию, чтобы при результате "Ошибка в result :$ operator is invalid for atomic vectors" программа переходила к другой функции?

Я раньше всю подобную работу делала в SAS. Там были либо макросы, либо Miner. В R я пытаюсь посчитать все по аналогии. Но либо изобретаю велосипед, либо иду не по той дороге. Буду благодарна за любые советы.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Если ошибка - применить другую функцию. smbinning

Сообщение gamm » 13 фев 2016, 20:32

у вас какой-то "сумбур вместо музыки" (с). Напишите внятно, чего вы хотите, и кто вам мешает не допускать ошибку. Что на входе, что на выходе, и что мешает кормить функции правильными данными. Пример приведите, где ошибка возникает.

AnnaK
Новоприбывший
Сообщения: 10
Зарегистрирован: 09 фев 2016, 11:03
Репутация: 0

Re: Если ошибка - применить другую функцию. smbinning

Сообщение AnnaK » 13 фев 2016, 21:08

Если 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 разнообразных значений - где-то я встретила такое объяснение. В общем задать условие я не могу. Или мне не хватает знаний.

nplatonov
Интересующийся
Сообщения: 25
Зарегистрирован: 07 фев 2012, 12:00
Репутация: 20

Re: Если ошибка - применить другую функцию. smbinning

Сообщение nplatonov » 14 фев 2016, 10:02

?try

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Если ошибка - применить другую функцию. smbinning

Сообщение gamm » 14 фев 2016, 12:53

AnnaK писал(а): Или мне не хватает знаний.
я не понял, что мешает прочитать хелп (и посмотреть текст самой функции), и проверить условия применимости функции, прежде, чем ее вызывать? это если не вникать, что за задача решается, может если не хватает данных, то и решать не нужно ...

AnnaK
Новоприбывший
Сообщения: 10
Зарегистрирован: 09 фев 2016, 11:03
Репутация: 0

Re: Если ошибка - применить другую функцию. smbinning

Сообщение AnnaK » 14 фев 2016, 22:12

У меня есть задача и я пытаюсь ее решить. Где и как посмотреть текст функции (как она рассчитывает результат) - я не знаю. Задавая вопрос в теме, я думала, что вдруг есть какая-то функция типа "=ЕСЛИОШИБКА(;)" в Excel.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Если ошибка - применить другую функцию. smbinning

Сообщение gamm » 14 фев 2016, 22:50

Все исходники всех функций есть на сайте R. Требования к данным написаны в хелпе. И если вы получаете ошибку, то почти наверняка что-то не то делаете, и бороться нужно не с ошибкой ... Но если очень хочется, выше уже указали на искомую фунцию try.

[ Сообщение с мобильного устройства ]

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей