R语言在概率与统计及线性代数领域中的应用.docx

上传人:b****6 文档编号:3154298 上传时间:2022-11-18 格式:DOCX 页数:18 大小:28.61KB
下载 相关 举报
R语言在概率与统计及线性代数领域中的应用.docx_第1页
第1页 / 共18页
R语言在概率与统计及线性代数领域中的应用.docx_第2页
第2页 / 共18页
R语言在概率与统计及线性代数领域中的应用.docx_第3页
第3页 / 共18页
R语言在概率与统计及线性代数领域中的应用.docx_第4页
第4页 / 共18页
R语言在概率与统计及线性代数领域中的应用.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

R语言在概率与统计及线性代数领域中的应用.docx

《R语言在概率与统计及线性代数领域中的应用.docx》由会员分享,可在线阅读,更多相关《R语言在概率与统计及线性代数领域中的应用.docx(18页珍藏版)》请在冰豆网上搜索。

R语言在概率与统计及线性代数领域中的应用.docx

R语言在概率与统计及线性代数领域中的应用

R语言在概率与统计及线性代数领域中的应用

一、概率与统计:

概率与统计在科学领域、工程领域与社会研究领域都有相当强的实用性。

最近,机率与统计在人工智能、自然语言翻译、语音识别、机器人控制等领域,都有相当深入的进展,但是这些进展所使用到的数学,都需要相当深的机率统计基础。

在实务研究上,要重视“程序语言实作”的方式,因此采用R这个专为机率统计而设计的语言来做研究,透过R语言,我们可以较为轻松的实作出许多用传统语言难以实作的程序范例,这些范例可以引导我们深入理解机率统计的理论,并且达到“以理论指导实务,以实务印证理论”的功能。

R语言当中默认就包含了各式各样的机率模型,以及各种统计工具。

举例而言,当看到常态分配的机率模型时,我们可以直接使用下列指令来画出常态分布,并且用程序产生符合常态分布模型的样本,以便进行某种交互式的学习,用实验体会常态分布的意义。

>dnorm(0)

[1]0.3989423

>dnorm(0.5)

[1]0.3520653

>dnorm(2.5)

[1]0.0175283

>curve(dnorm(x),from=-3.5,to=3.5,ylab="pdf",

main="N(0,1)probabilitydensityfunction(pdf)")

>

以上只是一个绘图的范例而已,R语言能轻易做出各式各样的机率统计程序,像是抽样、叙述报告、检定、推论、回归分析、变异数分析(ANOVA)、质量管理、时间数列等等。

范例:

(1)模拟掷骰子:

>sample(1:

6,1)

[1]2

>sample(1:

6,5)

[1]41325

>sample(1:

6,10)

错误在sample(1:

6,10):

cannottakeasamplelargerthanthepopulationwhen'replace=FALSE'

>sample(1:

6,10,replace=T)

[1]4324164251

>

>sample(1:

6,10,replace=T)

[1]4324164251

>x<-sample(1:

6,10,replace=T)

>x

[1]1252414465

>x=2

>x

[1]2

>x<-sample(1:

6,10,replace=T)

>x

[1]2422544532

>sum(x=2)

[1]2

>x<-sample(1:

6,10,replace=T)

>x

[1]4162135536

>x==2

[1]FALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSE

>sum(x==2)

[1]1

>sum(x==6)

[1]2

>

(2)统计抽样结果:

>x<-sample(6,6000,replace=T)

>for(iin1:

6)print(sum(x==i))

[1]1036

[1]978

[1]1037

[1]1016

[1]986

[1]947

绘制统计图:

>x=sample(1:

6,10000,replace=T)

>hist(x)

>

(3)用R软件仿真扑克牌:

>num=1:

13

>type=c("a","b","c","d")

>num*type

>type=c("space","heart","diamond","club")

>interaction(num,type)

[1]1.space2.heart3.diamond4.club5.space6.heart

[7]7.diamond8.club9.space10.heart11.diamond12.club

[13]13.space

52Levels:

1.club2.club3.club4.club5.club6.club7.club...13.space

Warningmessage:

Inans*length(l)+if1:

longerobjectlengthisnotamultipleofshorterobjectlength

>expand.grid(num,type)

Var1Var2

11space

22space

33space

44space

55space

66space

77space

88space

99space

1010space

1111space

1212space

1313space

141heart

152heart

163heart

174heart

185heart

196heart

207heart

218heart

229heart

2310heart

2411heart

2512heart

2613heart

271diamond

282diamond

293diamond

304diamond

315diamond

326diamond

337diamond

348diamond

359diamond

3610diamond

3711diamond

3812diamond

3913diamond

401club

412club

423club

434club

445club

456club

467club

478club

489club

4910club

5011club

5112club

5213club

>poker=expand.grid(num,type)

二、1.线性代数:

使用R软件求解特征值与特征向量

>matrix(rep(3,8),nrow=4)

[,1][,2]

[1,]33

[2,]33

[3,]33

[4,]33

>matrix(3,nrow=4,ncol=3)

[,1][,2][,3]

[1,]333

[2,]333

[3,]333

[4,]333

>w=matrix(0,nrow=3,ncol=4)

>w

[,1][,2][,3][,4]

[1,]0000

[2,]0000

[3,]0000

>w[2,3]=5

>w

[,1][,2][,3][,4]

[1,]0000

[2,]0050

[3,]0000

>x=matrix(1:

12,nrow=3,ncol=4)

>x

[,1][,2][,3][,4]

[1,]14710

[2,]25811

[3,]36912

>dim(x)

[1]34

>y=1:

12

>y%*%x

错误于y%*%x:

非整合参数

>y=1:

3

>y%*%x

[,1][,2][,3][,4]

[1,]14325068

>t(x)

[,1][,2][,3]

[1,]123

[2,]456

[3,]789

[4,]101112

>diag(c(3,7,2))

[,1][,2][,3]

[1,]300

[2,]070

[3,]002

>diag(x)

[1]159

>z=matrix(1:

9,nrow=3,ncol=3)

>det(z)

[1]0

>z

[,1][,2][,3]

[1,]147

[2,]258

[3,]369

>z[2,1]=10

>z

[,1][,2][,3]

[1,]147

[2,]1058

[3,]369

>det(z)

[1]48

>eigen(z)

$values

[1]17.936765+0.000000i-1.468383+0.721055i-1.468383-0.721055i

$vectors

[,1][,2][,3]

[1,]0.4100596+0i0.2162169-0.1118877i0.2162169+0.1118877i

[2,]0.6875542+0i-0.8668747+0.0000000i-0.8668747+0.0000000i

[3,]0.5992665+0i0.4306386+0.0617265i0.4306386-0.0617265i

>x

[,1][,2][,3][,4]

[1,]14710

[2,]25811

[3,]36912

>rownames(x)=paste("r",1:

3,sep="_")

>x

[,1][,2][,3][,4]

r_114710

r_225811

r_336912

>colnames(x)=paste("c",1:

4,sep="")

>x

c1c2c3c4

r_114710

r_225811

r_336912

>hist(x)

>

 

 

范例:

(1)R软件与排列组合

>prod(5:

1)

[1]120

>prod(5:

3)

[1]60

>choose(5,3)

[1]10

>choose(52,4)

[1]270725

(2)人工智能中的机率统计范例--牙医判断牙痛问题

问题描述:

当病人来看牙医时,该病人可能有蛀牙或没蛀牙,也可能有牙痛或没有牙痛,而牙医可能会找到牙痛的原因或找不到。

因此有下列三个随机变量:

X:

(蛀)蛀牙与否(Cavity)

Y:

(痛)牙痛与否(Toothache)

Z:

(找)是否找到痛的牙(Catch)

假如这个问题个统计机率都已经知道了,如下表所示:

牙痛(Y=1)

不牙痛(Y=0)

找到(Z=1)

找不到(Z=0)

找到(Z=1)

找不到(Z=0)

蛀牙(X=1)

0.108

0.012

0.072

0.008

沒蛀牙(X=0)

0.016

0.064

0.144

0.576

如果将这个表格写成一整排,那么将会以下列机率表格显示。

蛀X

痛Y

找Z

P(X,Y,Z)

0

0

0

0.576

0

0

1

0.144

0

1

0

0.064

0

1

1

0.016

1

0

0

0.008

1

0

1

0.072

1

1

0

0.012

1

1

1

0.108

问题

1:

请计算P(没痛)=P(Y=0)=?

2:

请计算P(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1