数学建模社区-数学中国
标题: 用R语言求置信区间 [打印本页]
作者: 数模天下 时间: 2012-12-24 14:05
标题: 用R语言求置信区间
用R语言求置信区间是很方便的,而且很灵活,至少我觉得比spss好多了。
# X* _5 [! U. j+ `; ~2 t如果你要求的只是95%的置信度的话,那么用一个很简单的命令就可以实现了+ b5 v T; M, r: A: f) U! A
首先,输入da=c(你的数据,用英文逗号分割),然后t.test(da),运行就能得到结果了。: V3 \6 c" f6 c5 z* W
我的数据是newbomb <- c(28,26,33,24,34,-44,27,16,40,-2,29,22,24,21,25,30,23,29,31,19), R9 A3 t7 V) S: g) F1 b: r
t.test(newbomb)得到的结果如下1 i0 s( [( i/ ] y
/ C9 V9 b& S( M7 c; m; b如果要求任意置信度下的置信区间的话,就需要自己编一个函数了。) {7 ^; a0 k/ [. O1 Z: r8 t+ a5 n
当然,有两点要记住的,置信区间的计算在知道方差和不知道方差的情况下,计算公式是不一样的。
0 o1 V; m3 v. K3 @( [6 M; x下面做一个两种情况下都可以用的函数。% I. }- X5 }) g/ Q$ m
confint<-function(x,sigma=-1,alpha=0.05). W: f( R. N- J( G- K3 V$ x
{4 g/ ^$ V, G$ i% p3 v7 j) C6 O( E
n<-length(x)" Z3 k/ l1 `6 M# ^1 ^
xb<-mean(x)( Q# V; X; y T" q* p4 B
if(sigma>=0)
/ {1 d( p- h; m' ^) _3 ] {
+ V) _& h2 ]. m3 k0 ?4 \( D" ?7 I4 @ tmp<-sigma/sqrt(n)*qnorm(1-alpha/2);df<-n' \% J5 R/ H) D0 P8 R# @/ V7 Z
}. Y I- O$ u! Y) K6 q, ~" V7 r7 T
else{& V: X, x8 o E7 p5 r' R
tmp<-sd(x)/sqrt(n)*qt(1-alpha/2,n-1);df<- n-1" z' @" R! r3 i5 ^
}
- R- g5 q7 o1 s( O data.frame(mean=xb,df=df,a=xb-tmp,b=xb+tmp)
6 d' o& A4 \. |/ U8 m: ^' q }+ l7 F' N6 J# `) Z; F' O
这个函数的使用:
如果不知道方差,则confint(x,alpha) 知道方差,则confint(x,sigma,alpha)
l8 J- }/ K; v: c# x( p) ^& k
这样就能计算出结果了。
8 c( b2 M8 m4 U% H- T8 ^' K( z
$ q: L( z; T& _- L4 l
5 G D% r( x5 X+ Y% z' q N
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |