Есть ли способ использовать вывод линейной модели как вход в другую функцию - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь построить функцию, которая упростит процесс тестирования на гетероскедастичность в r. Я пытаюсь использовать функцию bptest и объединить ее с функцией if для выполнения теста хи-квадрат. Тем не менее, тест bp предоставляет несколько выходов, есть ли способ, которым я могу изолировать статистику bp от теста bp, чтобы я мог использовать ее как вход в функцию if-else?

Я пытался изолироватьвывод статистики bp с использованием символа равенства, но (как я и ожидал) это не сработало.

BPTest<-function(M,df,cf){
  TS<-bptest(M)
  Chi2<-qchisq(cf,df=df)
  if(TS>Chi2){
    print("Reject the null hypothesis and conclude that heteroskedasticity is present.")
  }else{
    print("Do not reject the null hypothesis. Conclude that heteroskedasticity is not present.")
  }
}

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

Warning messages:
1: In BPTest(ModelQ2, 0.95, 1) : NAs introduced by coercion
2: In BPTest(ModelQ2, 0.95, 1) : NAs introduced by coercion
3: In if (TS > Chi2) { :
  the condition has length > 1 and only the first element will be used.

Это также подтверждает отсутствие гетероскедастичности, когда я знаю, что она существует. Спасибо

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