最新R语言练习题.docx

上传人:b****1 文档编号:2205193 上传时间:2023-05-02 格式:DOCX 页数:12 大小:143.55KB
下载 相关 举报
最新R语言练习题.docx_第1页
第1页 / 共12页
最新R语言练习题.docx_第2页
第2页 / 共12页
最新R语言练习题.docx_第3页
第3页 / 共12页
最新R语言练习题.docx_第4页
第4页 / 共12页
最新R语言练习题.docx_第5页
第5页 / 共12页
最新R语言练习题.docx_第6页
第6页 / 共12页
最新R语言练习题.docx_第7页
第7页 / 共12页
最新R语言练习题.docx_第8页
第8页 / 共12页
最新R语言练习题.docx_第9页
第9页 / 共12页
最新R语言练习题.docx_第10页
第10页 / 共12页
最新R语言练习题.docx_第11页
第11页 / 共12页
最新R语言练习题.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

最新R语言练习题.docx

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

最新R语言练习题.docx

最新R语言练习题

R语言练习题

统计软件实验1

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

1y=

y<-sin(10*pi)*exp(-0.3+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,增量值=5.5,终止值=44的一维数组x

x<-seq(3.47,by=5.5)

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存入变量factor.numeric,并用class〔〕确认。

factor.numeric<-as.factor(numeric)

7查看factor.numeric的内容

factor.numeric

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

A=matrix(1:

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

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

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

data<-read.table("D:

/t.data.txt",header=T)

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

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

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

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

x<-1:

10

write.table(x,file="x.txt");rm(x);x

x<-read.table("x.txt",header=T);x

class(x);x<-as.numeric(x$x);x

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

Mtcars

Mtcars$vs<-学号后两位

mtcarsnew<-read.csv()

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

mm<-as.matrix(mtcars);class(mm)

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

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

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

mtupper(x[lower.tri(x)]<-0;mtupper<-x)

x[lower.tri(x)]<-0

lower.tri(x,diag=FALSE

x[upper.tri(x)]<-0

upper.tri(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

4.171.75

5.581.8

5.181.65

6.111.9

4.51.74

4.611.91

5.171.75

4.531.8

5.331.65

5.141.9

4.811.74

4.171.91

4.411.75

3.591.8

5.871.65

3.831.9

6.031.74

4.891.91

4.321.75

4.691.8

 

统计软件实验3

1数据的读取〔数据见附录〕

data<-read.table("路径/t.data.txt",header=T)

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<-read.csv("cityrain.csv")

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(3.3,0.8,2.3,0.8)

text(3.8,0.8,"sin(x)")

arrows(10.8,0.8,11.8,0.8)

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

例如:

 

附录:

数据:

1身高体重数据

weightheight

4.171.75

5.581.8

5.181.65

6.111.9

4.51.74

4.611.91

5.171.75

4.531.8

5.331.65

5.141.9

4.811.74

4.171.91

4.411.75

3.591.8

5.871.65

3.831.9

6.031.74

4.891.91

4.321.75

4.691.8

 

统计软件实验4

 

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

100中所有数据。

1

for(Iin1:

100)

print(I)

2

while(i<=100){

sum<-sum+i

i<-i+1

}

print(sum)

3

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

set.seed(123)

norm<-rnorm(100,1,1)

min.norm<-100

for(iin1:

100){

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

min.norm=norm[i]

min.count=i

}

}

cat(min.norm,min.count)

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

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

for(iin1:

100){

norm<-rnorm(100,1,1)

min.norm[i]<-100

for(iin1:

100){

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

min.norm[i]=norm[i]

min.count[i]=i

}

}

}

plot(min.count,min.norm)

7

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

Calculatethesquaresoftheintegernumbersfrom1to50.

Whichpairsareequal,i.e.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-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2