我正在尝试构建一个函数,以简化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.
当我知道它存在时,也证实了不存在异方差性。 谢谢