天问

R语言笔记(2)

1 随机产生50个服从标准正态分布的数,并将它赋给向量x

(1)求x的最大、最小值,并返回最大、最小值的位置。

x=rnorm(50)

> max(x)

[1] 2.659564

> min(x)

[1] -3.007514

> which.max(x)

[1] 38

> which.min(x)

[1] 27

 

(2 )将向量x中位置是3的倍数的数值删除,并计算删除后向量的累积和

i=1

while(i<=50){

if(i%%10==3) {x[-c(i)] }

i=i+1

}

x

sum(x)

 

2 画出函数y=sin(x)/x的图形,要求都以线的形式画出,颜色为红色,并加上图的标题“画图练习”。

x=seq(0,10,by=0.05)

y=sin(x)/x

par(bg="yellow")

plot(x,y,type="l",main="画图练习",bg="red",col="red",lwd="4",sub="y=sin(x)/x")

 1

 

 

3 随机产生两个5*5的方阵AB

A=matrix(rnorm(25),5,5)

B=matrix(rnorm(25),5,5)

 

1)计算矩阵A的行和,列平均

apply(A,MARGIN=1,FUN=sum)

apply(B,MARGIN=2,FUN=mean)

 

2)计算矩阵B的行列式

det(B)

 

3)选取矩阵AB的两个4*4的子矩阵,并计算两个子矩阵的乘法。

A1=A[1:4,1:4,drop=F]

B1=B[1:4,1:4,drop=F]

A1%*%B1

 

 

4把语句x <- floor(100*runif(100))所生成的向量保存到一个文本文件中,然后从此文件中读入数据到向量y中,计算y的均值、中位数并画出茎叶图、经验分布函数图。

x <- floor(100*runif(100))

save(x,file="D:/data.txt")

y<- floor(100*runif(100))

write.table(y,file="D:/data.txt")

mean(y)

median(y)

> stem(y)

 

The decimal point is 1 digit(s) to the right of the |

 

0 | 0334788899

1 | 2335667789

2 | 013445677999

3 | 00112446789

4 | 01246689

5 | 1345678899

6 | 0026679

7 | 001112233589

8 | 1235579

9 | 0112234446688

 

plot(ecdf(y),verticals=T,do.p=F)

2

 

博客地址:http://blog.yoqi.me/?p=836
扫我捐助哦
喜欢 8090

这篇文章还没有评论

发表评论