《R4beg_cn 2.0》Part 3——生成数据

| 评论(0)

seq()

e.g.

> seq(1,5,0.5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

> seq(length=9,1,5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

---------------------------------

scan()

e.g.

> x<-scan()
1: 2
2: 4
3: 5
4: 6
5: 7
6:
Read 5 items
> x
[1] 2 4 5 6 7

--------------------------------

rep()

e.g.

> rep(7,5)
[1] 7 7 7 7 7

----------------------------

sequence()

创建一系列的整数数列,每个序列都以给定参数的数值结尾

e.g.

> sequence(5)
[1] 1 2 3 4 5
> sequence(4:5)
[1] 1 2 3 4 1 2 3 4 5
> sequence(4,5)
Error in sequence(4, 5) : unused argument(s) ( ...)
> sequence(c(4,5))
[1] 1 2 3 4 1 2 3 4 5

--------------------------

gl()

gl(k,n)——k为水平数(或类别数),n是每个水平重复的次数

参数:length用来指定产生数据的个数,labels用来指定类别名(水平因子的名字)

e.g.

> gl(3,2)
[1] 1 1 2 2 3 3
Levels: 1 2 3
> gl(3,2,length=12)
[1] 1 1 2 2 3 3 1 1 2 2 3 3
Levels: 1 2 3
> gl(3,2,length=11)
[1] 1 1 2 2 3 3 1 1 2 2 3
Levels: 1 2 3
> gl(2,5,labels=c("Male","Female"))
[1] Male Male Male Male Male Female Female Female Female Female
Levels: Male Female
> gl(2,1,length=10)
[1] 1 2 1 2 1 2 1 2 1 2
Levels: 1 2

---------------------------------

expand.grid()

把各参数的各水平完全搭配

e.g.

> expand.grid(a=c(1,2),b=c(7,8),c=c("A","B"))
a b c
1 1 7 A
2 2 7 A
3 1 8 A
4 2 8 A
5 1 7 B
6 2 7 B
7 1 8 B
8 2 8 B

------------------------------

产生随机序列

R可以产生多种不同分布下的随机数序列。形式为:rfunc(n,p1,p2...),func指概率分布函数,n为生成数据的个数,p1,p2是分布的参数。

e.g.

> rnorm(5,0,1) #生成5个服从标准正态分布的随机数
[1] -1.4401032 0.8783656 0.5955232 -1.2135599 3.0350583

这种统计函数有相似的形式,如密度函数(dfunc(x,...)),分布函数(pfunc(x,...)),分位数函数

(qfunc(p,...),0

> qnorm(0.025)
[1] -1.959964
> qnorm(0.975)
[1] 1.959964

对于同一检验的单侧临界值,根据备择假设形式使用qnorm(0.05)或1-qnorm(0.95)

一个检验的P值,如自由度df=1的χ^2=3.84

> 1-pchisq(3.84,1)
[1] 0.05004352

发表评论

最新日记

林达----"近距离看美国"系列
  大概一年半前,我在百无聊赖中混迹于一…
【每天听首外文歌】fix you
Song:fix you Artist:…
伟大的辩题
标 题: 银联杯"厦门大学第三届研究生辩…