dt函数有什么结果?

时间:2016-05-08 17:32:38

标签: r

有人在典型的dt函数中解释结果吗?帮助页面说我应该收到密度函数。但是,在我的下面的代码中,第一个值“.2067”代表什么?第二个值是什么?

x<-seq(1,10)
dt(x, df=3) 
[1] 0.2067483358 0.0675096607 0.0229720373 0.0091633611 0.0042193538 0.0021748674
[7] 0.0012233629 0.0007369065 0.0004688171 0.0003118082

2 个答案:

答案 0 :(得分:0)

这里混淆了两件事:

dt为您提供密度,这就是大数字减少的原因:

x<-seq(1,10)
dt(x, df=3) 
[1] 0.2067483358 0.0675096607 0.0229720373 0.0091633611 0.0042193538 0.0021748674
[7] 0.0012233629 0.0007369065 0.0004688171 0.0003118082

pt给出了分布函数。这是x或更小的概率。

这就是为什么当x增加时值变为1:

pt(x, df=3)
 [1] 0.8044989 0.9303370 0.9711656 0.9859958 0.9923038 0.9953636 0.9970069 0.9979617 0.9985521 0.9989358

答案 1 :(得分:0)

A&#34;概率密度&#34;并不是真正的概率,因为概率在[0,1]中有界,而密度则没有。整个域的密度积分归一化为1.因此密度实际上是概率函数的第一个导数。此代码可能有所帮助:

plot( x= seq(-10,10,length=100), 
      y=dt( seq(-10,10,length=100), df=3) )

在x = 1时dt的值为0.207表示在x = 1处,概率以x每单位增加0.207的速率增加。 (并且由于t分布是对称的,也是dt的值,3 df为-1。)

enter image description here

用于实例化dt(x,df = 3)函数的一些编码(参见?dt)然后将其集成:

> dt3 <- function(x) { gamma((4)/2)/(sqrt(3*pi)*gamma(3/2))*(1+x^2/3)^-((3+1)/2) }
> dt3(1)
[1] 0.2067483
> integrate(dt3, -Inf, Inf)
1 with absolute error < 7.2e-08