R语言练习题.docx

上传人:b****6 文档编号:4324042 上传时间:2022-11-29 格式:DOCX 页数:9 大小:26.29KB
下载 相关 举报
R语言练习题.docx_第1页
第1页 / 共9页
R语言练习题.docx_第2页
第2页 / 共9页
R语言练习题.docx_第3页
第3页 / 共9页
R语言练习题.docx_第4页
第4页 / 共9页
R语言练习题.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

R语言练习题.docx

《R语言练习题.docx》由会员分享,可在线阅读,更多相关《R语言练习题.docx(9页珍藏版)》请在冰豆网上搜索。

R语言练习题.docx

R语言练习题

统计软件实验1

每题需注意1命令代码2结果或图形3自己的错误

1y=

y<-sin(10*pi)*exp+4^2)+log(23)/log(4)

2x=sin(223/3),y=x^2,z=y*10;求x+2y-5z

x<-sin(223/3);y<-x^2;x+2*y-5*z

3建立起始值=3,增量值=,终止值=44的一维数组x

x<-seq,by=

4建立等差一维数组x:

首项为0,末项为

项数为15

x<-seq(0,pi,length=15)

5将100,200,200,200,400,600,600,600,800输入R中,保存到numeric变量中

numeric<-c(100,200,200,200,400,600,600,600,800)

6将numeric转换为factor存入变量,并用class()确认。

<-(numeric)

7查看的内容

8创建一个2到50的向量,形式为2,4,6,8,...,48,50并名为为vector1

vector1<-seq(from=2,to=50,by=2)

9选取vector1中的第20个元素

vector1[20]

10选取vector1中的第10,15,20个元素

vector1[c(10,15,20)]

11选取vector1中的第10到20个元素

vector[10:

20]

12选取vector1中值大于40的元素

vector1[vector1>40]

13创建向量1234512345123451234512345

rep(1:

5,5)

14使用rep()创建向量0000011111222223333344444

rep(0:

4,rep(5,5))

15用函数rep()构造一个向量x,它由3个3,4个2,5个1构成

x=c(rep(3,3),rep(2,4),rep(1,5))

统计软件实验2

每题需注意1命令代码2结果或图形3自己的错误

1计算行列式的值

A=det(matrix(c(3,4,7,2,2,8,3,6,1),nrow=3))

2矩阵

矩阵

;求出AxB及A与B中对应元素之间的乘积

A=matrix(c(3,4,7,2,2,8,3,6,1),nrow=3);B=matrix(rep(1:

3,3),nrow=3);A%*%B;A*B

3由1,2,...,16构成两个方阵,其中矩阵A按列输入,矩阵B按行输入,并计算C=A+B,D=AB

A=matrix(1:

16,nrow=4);B=matrix(1:

16,nrow=4,byrow=T);C=A+B;D=A%*%B

4先复制附录数据至文本文档,然后读取数据至文件data

5比值的计算weight和height的平方的比值存入bmi变量

bmi<-weight/height^2;detach(data)

6创建对象x,其值为1:

10,使用write函数将其写入文件;删除x,然后再读入该文件并赋值给x,并保证x是numeric

x<-1:

10

(x,file="");rm(x);x

x<-("",header=T);x

class(x);x<-(x$x);x

7查看mtcars数据(mtcars回车);把vs变量所在列的元素全都改成你的“学号后两位”(mtcars$vs<-7);把mtcars存为文件;读入文件存入mtcarsnew;

Mtcars

Mtcars$vs<-学号后两位

mtcarsnew<()

8把mtcars转换成矩阵mm并判断数据类型;把第六行改成你的“学号后两位”;取矩阵mm前11行存入变量mtcars11;取mtcars11的主对角线的元素,构成主对角阵mt;取mtcars11的上三角阵存入mtupper;(需要通过网络搜索学习上三角矩阵定义)

mm<(mtcars);class(mm)

mm[6,]<-学号后两位

mtcars11(mtcars11<-head(mtcars,11))

mt(mt<-diag(diag(mtcars11)))

mtupper(x[(x)]<-0;mtupper<-x)

x[(x)]<-0

(x,diag=FALSE

x[(x)]<-0

(x,diag=FALSE)

9把mtupper的行名和列名改为NULL。

rownames(mtupper)<-NULL

colnames(mtupper)<-NULL

rownames(mtupper)<-NULL

colnames(mtupper)<-NULL

rownames(mtupper)<-NULL

colnames(mtupper)<-NULL

rownames(mtupper)<-NULL

colnames(mtupper)<-NULL

10.mtupper每一行求和,存入mtsum。

mtsum<-apply(mtupper,MARGIN=1,FUN=sum)

附录:

数据:

1身高体重数据

weightheight

统计软件实验3

1数据的读取(数据见附录)

data<

2绘图

plot(height,weight)#绘图

3更改绘图的参数的取值

例如:

plot(height,weight,pch=2)#更改后的绘图

5.根据cityrain数据作图。

令Y轴范围(0,300),xaxt="n",type="b",颜色为黑,X轴标题为“Month”,Y轴标题为“TokyoRainfall(mm)”,主标题“MonthlyRainfallinmajorcities”。

用axis()函数添加X轴,使在X轴1到12的位置分别对应12个月份。

rain<-("")

plot(rain$Tokyo,type="b",xaxt="n",ylim=c(0,300),col="black",xlab="Month",ylab="Rainfall(mm)",main="MonthlyRainfallinmajorcities")

axis(1,at=1:

12,labels=rain$Month)

4.在[0,4pi]画sin(x),cos(x)(在同一个图象中);其中sin(x)和cos(x)图象用不同的颜色和形状表示,并在函数图上适当的位置标注“箭头+y=sin(x)”,“箭头+y=cos(x)”,标记x轴,y轴,标题为“正弦余弦函数图象”.

plot(sin,0,4*pi,main="正弦余弦函数图像",xlab="x轴",ylab="y轴",col="red",type="b",pch=18)

curve(cos,0,4*pi,col="blue",type="b",pch=1,add=T)

arrows,,,

text,,"sin(x)")

arrows,,,

text(10,,"cos(x)")

例如:

附录:

数据:

1身高体重数据

weightheight

统计软件实验4

1使用三种循环,输出向量1:

100中所有数据。

for(Iin1:

100)

print(I)

while(i<=100){

sum<-sum+i

i<-i+1

}

print(sum)

repeat{

if(i%%2!

=0)sum<-sum+i

i<-i+1

if(i>100)break

}

print(sum)

2使用while循环求1+2+3+…+100的和。

i<-1

sum<-0

while(i<=100){

sum<-sum+1

i<-i+1

}

print(sum)

3使用repeat循环求1至100之间的奇数和。

i<-1

sum<-0

while(i<=100){

sum<-sum+1

i<-i+1

}

print(sum)

4使用for循环输出1至100之间的能够被3或5整除的数,并求和。

sum<-0

for(iin1:

100){

if(i%%3==0|i%%5==0){

print(i)

sum<-sum+i

}

}

print(sum)

5定义一个长度为100、mean=1,sd=1的正态分布随机向量,并找出该向量的最小值及其出现的位置。

rnorm(n,mean,sd),种子设为123

(123)

norm<-rnorm(100,1,1)

<-100

for(iin1:

100){

if(norm[i]<={

=norm[i]

=i

}

}

cat,

6找出100次产生的长度为100、mean=1,sd=1的正态分布随机向量的最小值与出现位置的关系。

(用plot,表示,其中为位置向量,为最小值向量)

for(iin1:

100){

norm<-rnorm(100,1,1)

[i]<-100

for(iin1:

100){

if(norm[i]<=[i]){

[i]=norm[i]

[i]=i

}

}

}

plot,

7

Calculatethefirst50powersof2,2*2,2*2*2,etc.

Calculatethesquaresoftheintegernumbersfrom1to50.

Whichpairsareequal,.whichintegernumbersfulfillthecondition

.

Howmanypairsarethere(UseRtosolveallthesequestions!

(思考使用循环和不使用循环两种方式解答)

sum=0

for(iin1:

100)

if(2^i==i^2){

sum=sum+1

print(i)

}

cat("sum=",sum)

n=c(1:

50)

a=2^n

b=n^2

x=a-b

n[x==0]

sum(x==0)

n=c(1:

50)

a=2^n

b=n^2

x=a-b

n[!

((x>0)|(x<0))]

sum(!

((x>0)|(x<0)))

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

当前位置:首页 > 初中教育 > 科学

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

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