matlab求t分布的p值,在R中如何求给定分布和统计量的p-value
在知道了分布函数和相应的统计量后怎样得到p-value呢?用R可以很容易的实现,如下(来自)P_value n p cdf(x),cdf(x,paramet),cdf(x,paramet[1],paramet[2]),cdf(x,paramet[1],paramet[2],paramet[3]))if(side <0) pelse if(side >0) 1-pelseif(p<
在知道了分布函数和相应的统计量后怎样得到p-value呢?用R可以很容易的实现,如下(来自)P_value
n
p
cdf(x),
cdf(x,paramet),
cdf(x,paramet[1],paramet[2]),
cdf(x,paramet[1],paramet[2],paramet[3])
)
if(side <0) p
else if(side >0) 1-p
else
if(p<1/2) 2*p
else 2*(1-p)
}
其中cdf是分布函数(下面会列出一些分布),
x是计算出来的统计量的值,如t分布中的t值,f分布中的f值,
paramet是分布的参数,如正态分布需要指定(mu,sigma),f分布需要指定(df1,df2),
side是指计算p值的类型,是单侧,还是双侧.
R中与各个分布对应的分布函数名称如下:
分布 R中的名称 参数
normal norm mean,sd
F f df1,df2,ncp
Student's t t df,ncp
chi-squared chisq df,ncp
uniform unif min max
.............................................
更多的分布请见的P118.
注意:在上面计算p值的程序中,给定的分布名称应该加上p表示分布,如t分布应该写成pt,f分布应该是pf,正态分布是pnorm,更详细的请见R中,?pt()会告诉你非常具体的参数设置.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)