R语言练习题 下载本文

统计软件实验1

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

21 y =sin(10?)?e(?0.3?4)?log423

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

2 x = 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创建向量1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 rep(1:5,5)

14使用rep()创建向量0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4

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自己的错误

精选

3231计算行列式的值A?426 781A=det(matrix(c(3,4,7,2,2,8,3,6,1),nrow=3))

?323??111?????2 矩阵A?426,矩阵B?222;求出A x B及A与B中对应元素之间的乘积 ???????781???333??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 data <- read.table(\

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 <- read.table(\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

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

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

附录:数据:

1 身高体重数据 weight height 4.17 1.75 5.58 1.8 5.18 1.65 6.11 1.9 4.5 1.74 4.61 1.91 5.17 1.75 4.53 1.8 5.33 1.65 5.14 1.9 4.81 1.74 4.17 1.91 4.41 1.75 3.59 1.8 5.87 1.65 3.83 1.9 6.03 1.74 4.89 1.91 4.32 1.75 4.69 1.8

统计软件实

rownames(mtupper)<-NULL 1 数据的读取(数

colnames(mtupper)<-NULL

据见附录)精选

验3

data<-read.table(\路径/t.data.txt\2 绘图

plot(height, weight) # 绘图 3 更改绘图的参数的取值

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

5.根据cityrain数据作图。令Y轴范围(0,300),xaxt=\,type=\颜色为黑,X轴标题为“Month”,Y轴标题为“Tokyo Rainfall(mm)”,主标题“Monthly Rainfall in major cities”。用axis()函数添加X轴,使在X轴1到12的位置分别对应12个月份。

rain <- read.csv(\ plot(rain$Tokyo,type

\Rainfall in major cities\

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=\正弦余弦函数图像\轴\轴\

curve(cos,0,4*pi,col=\arrows(3.3,0.8,2.3,0.8) text(3.8,0.8,\arrows(10.8,0.8,11.8,0.8) text(10,0.8,\ 例如:

精选

附录:数据:

1 身高体重数据 weight height 4.17 1.75 5.58 1.8 5.18 1.65 6.11 1.9 4.5 1.74 4.61 1.91 5.17 1.75 4.53 1.8 5.33 1.65 5.14 1.9 4.81 1.74 4.17 1.91 4.41 1.75 3.59 1.8 5.87 1.65 3.83 1.9 6.03 1.74 4.89 1.91 4.32 1.75 4.69 1.8

统计软件实验4

1使用三种循环,输出向量1:100中所有数据。 ①

for (I in 1:100) print(I)

while (i<=100) {

sum <- sum+i i <- i+1 }

print(sum)

精选