非参实验二 :中位数符号检验

如有错误,还请各位大佬指出。

一、实验目的
1. 编写 R 语言函数进行中位数符号检验。
二、实验内容
1. 编写中位数符号检验的 R 语言函数。要求:
i )函数包括以下参数:检验的样本向量, me 0 ,显著性水平和备择假设;
ii )显著性水平默认值为 0.05
iii )备择假设的双边、左边和右边假设分别为:
alternative == “two.sided”; alternative == “less”; alternative == “greater”
默认值为双边假设;
iv )函数返回值为一个列表,包括检验统计量的观察值、检验的 p 以及是否拒绝原假设。
2. 完成练习:
在某保险种类中,一次关于 2006 年的索赔额度(单位:元)的随机抽样为:
4632, 4728, 5052, 5064, 5484, 6972, 7696, 9048, 14760, 15013, 18730, 21240, 22836, 52788, 67200
已知 2005 年的索赔额度中位数为 6064 元。
i )写出原假设与备择假设;
ii )计算检验统计量的样本值;
iii )检验 2006 年索赔额度的中位数与 2005 年是否有所变化?其中 分别为 0.1 0.05
代码
#中位数符号检验#
z<-function(x,me0,a,alt){              #构造中位数检验函数
  n1=sum(x>me0);                      #统计S+
  n2=sum(x<me0);                      #统计S-
  n=n1+n2;                            #删除等于me0的数据,得到数据总量
  p1<-pbinom(n2,n,0.5)                #p值
  p2<-1-pbinom(n2-1,n,0.5)            #p值
  h1<-"拒绝原假设"     #判断是否拒绝原假设的输出语句          
  h<-"不拒绝原假设"
  if(alt=="two sides"){#判断当为双边假设的情况
    p=min(p1,p2);#确定双边假设的p值
    p.value=2*p;
    if(p.value<=a){return(list("s+"=n1,"s-"=n2,p.value,h1))}#当p值小于水平a时,拒绝原假设,返回相应的值
    else{return(list("s+"=n1,"s-"=n2,p.value,h))}#当p值大于水平a时,不拒绝原假设,返回相应的值
  }
  if(alt=="less"){#判断当为单边(左边)假设的情况
    p.value=p2;#确定单边假设的p值
    if(p.value<=a){return(list("s+"=n1,"s-"=n2,p.value,h1))}#当p值小于水平a时,拒绝原假设,返回相应的值
    else{return(list("s+"=n1,"s-"=n2,p.value,h))}#当p值大于水平a时,不拒绝原假设,返回相应的值
  }
  if(alt=="greater"){#判断当为单边(右边)假设的情况
    p.value=p1#确定单边假设的p值
    if(p.value<=a){return(list("s+"=n1,"s-"=n2,p.value,h1))}#当p值小于水平a时,拒绝原假设,返回相应的值
    else{return(list("s+"=n1,"s-"=n2,p.value,h))}#当p值大于水平a时,不拒绝原假设,返回相应的值
  }
  else#所有情况都不符合的时候返回报错
    return("error")
}

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值