这种用法的函数定义 sign.test=function(x,p,q0)
是自定义符号检验的函数,其中参数的含义如下:
x
: 一个数值型向量,表示样本观测值。p
: 一个数值,表示要检验的中位数。默认值为 0。q0
: 一个数值,表示显著性水平(即拒绝域),默认值为 0.05。
下面是一个基于这个函数定义的例子:
# 自定义符号检验函数 sign.test=function(x,p,q0=0.05){ n=length(x) # 样本容量 # 计算符号检验统计量 W=sum(x>p)-sum(x<p) # 计算 P 值 if (W > 0) { pvalue=2*min(pbinom(W-1,n,0.5),pbinom(n-W,n,0.5)) } else { pvalue=1 } # 计算置信区间 alpha=qnorm(1-q0/2) z_alpha=alpha/sqrt(n) conf.int=c(p-z_alpha,p+z_alpha) # 输出结果 result=list(statistic=W, p.value=pvalue, conf.int=conf.int) return(result) } # 使用自定义符号检验函数进行检验 x <- c(2, 1, -1, 3, 0) sign.test(x, p = 0, q0 = 0.05)
上述代码定义了一个名为 sign.test
的函数,它接受三个参数 x
、p
和 q0
,其中 x
是样本观测值,p
是要检验的中位数,q0
是显著性水平。该函数返回一个包含统计量、P 值和置信区间的列表。
在这个例子中,我们使用自定义符号检验函数来检验样本 x <- c(2, 1, -1, 3, 0)
的中位数是否等于 0,显著性水平为 0.05。运行上述代码,我们得到以下输出:
$statistic [1] 1 $p.value [1] 0.34375 $conf.int [1] -0.4030406 1.4030406
这表示,在显著性水平为 0.05 的情况下,无法拒绝原假设,即样本中位数等于 0。