我是靠谱客的博主 淡然蜻蜓,最近开发中收集的这篇文章主要介绍R语言期末,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、单项选择题
答题说明:每题均有 A、B、C、D 四个备选答案,其中只有一个正确答案,将其
选出,并写在答题纸上。
1.R 语言(软件)是被用于统计计算和绘图工作的一套语言和环境,是一套开源
的数据分析解决方案。最早(1995 年)是由( B )开发的.
A.Barbara F. Ryan、Thomas A. Ryan 和 Brian L. Joiner
B.Robert Gentleman 和 Ross Ihaka
C.Thomas A. Ryan 和 Ross Ihaka
D.Robert Gentleman 和 Brian L. Joiner
2.R 语言中的赋值符号不包括(B)
A.= B.>- C.<- D.->
3.在 R 语言中,以下变量定义正确的是(C)
A. sum B. -min C. a_3 D. if
4.R 语言加在第三方包时,会使用到的函数名是(B)
A.call B.library C.source D.install
5.下面四个函数中,哪一个是正确的帮助函数?(C)
A.Help() B.HELP() C.help() D.以上均正确
6.现有以下几条 R 语句,请问运行之后,x 和 y 的值分别是多少?(A)
x<-3;y<-5;x<-x+y;y<-x-y;x<-x-y
A.5,3 B.3,5
C.3,3 D.5,5
7.在 R 中移除或删除多个对象的函数为(A)
A. rm() B.ls() C.q() D.save.image()
8.在 R 中设置工作路径用以下哪个函数(A)
A.setwd() B.getwd() C.q() D.dir.create()
9.下列是“取余”操作运算符的是(D)
A. % B.%/% C./ D.%%
10.将数据框 X 中含有的 NA 值换成 0,使用的函数是(C)
A.is.na(X) <- 0
B.X[,is.na(X)] <- 0 C.X[is.na(X)] <- 0
D.X <-na.omit(X)
11.代码 rep(c(1:2),each=3)输出的结果为(A)
A. 1 1 1 2 2 2
B.1 2 1 2 1 2
C. 1 2 3
D. 1 2
12.代码 c("a","b","c","d")[rep(c(1,2,3),3)]的输出结果为(C)
A. "a" "b" "c" "d" "a" "b" "c" "d" "a" "b" "c" "d"
B "a" "b" "c"
C. "a" "b" "c" "a" "b" "c" "a" "b" "c"
D. 1 2 3 3
13.两个数据框进行行合并,哪个函数不能用 (D)
A.cbind() B.merge() C.rbind() D.reshape()
14.输出 CSV 格式的文件,用一下哪个函数(A)
A.write.csv() B.read.csv() C.write.delim() D.read.table()
15.如读取 CSV 格式的文件,用一下哪个函数(D)
A.read.delim() B.write.csv() C.read.table() D.read.csv()
16.执行命令 x <- 0:4 ; y <- ifelse(x>1,-x,2*x); y 后的结果是(C)
A.[1] 2 3 4 [2]-2 -3 -4 [3] 4 6 8
B.[1] -2 -3 -4 [2] 4 6 8
C.[1] 0 2 -2 -3 -4
D.[1] 0 1 2 3 4
17.一般一个函数包括哪四个部份。(C)
A.函数内容、函数声明、函数语句、函数变量
B.函数名称、函数主体、函数输入、函数输出
C.函数形式、函数内容、函数变量、函数参数
D.函数名称、函数声明、函数主体、函数参数
18.何用 as.Date()函数将'2-2013-1'转化成"2013-01-02"(B) A.as.Date('2-2013-1',format='%m-%Y-%d')
B.as.Date('2-2013-1',format='%d-%Y-%m')
C.as.Date('2-2013-1',format='%y-%m-%d')
D.as.Date('2-2013-1',format='%d-%y-%m')
19.有一列数据 x <- c(3,6,7,4,1),order(x,decreasing=T)输出的结果是
(A)
A.3 2 4 1 5
B.5 1 4 2 3
C.1 3 4 6 7
D.1 2 3 4 5
20.有 A 和 B 两个公共列的数据框,如何用 merge()函数按 A 数据框将 A,B 两个
数据框合(D)
A.cbind(A,B)
B.merge(A,B,all=T)
C.merge(A,B,all.y=T)
D.merge(A,B,all.x=T)
21. 这行 for (i in 1:3) print("Hello")输出结果为(C)
A. [1] "Hello"
B. [1] 1 2 3
C. [1] "Hello" [1]"Hello" [1] "Hello"
D.以上都不正确
22.这行代码 y<-"fruit"
switch(y,fruit="banana",vegetable="broccoli",meat="beef")输出结果为(A)
A.[1] "banana"
B.[1] "fruit"
C.[1] "banana" "broccoli" "beef"
D.[1] y
23.x<-c(TRUE,FALSE,FALSE),y<-c(TRUE,TRUE,FALSE)),运行 x&&y 这行代码是
什么结果(D) A.FALSE
B.both TRUE
C.TRUE FALSE FALSE
D.TRUE
24.有一个名为 mydata 的数据框,其中有变量 x1 和 x2,如何创建一个 sumx,存
储 x1 和 x2 的和?(C)
A.sumx<-x1+x2
B.sumx<-mydata$x1+mydata$x2
C.mydata$sumx<-mydata$x1+mydata$x2
D.以上都正确
25.为了添加路径索引,可以使用的函数是什么?(A)
A.attach B.detach
C.with D.以上都不对
26.R 语言中,为变量修改元素名称的函数是什么?(D)
A.changeName B.ModifyName
C.name D.names
27.将 x 舍入为指定位数的小数,可以用到的函数是?(B)
A.signif B.round
C.decimal D.floor
28.求中位数的函数是?(C)
A.mean B.mad
C.median D.以上都可以
29.如果要生成一个序列“1,3,5,7,9”,那么不可以使用的代码是?(D)
A.seq(1,10,2) B.seq(1,9,2)
C.seq(0,9,2)+1 D.seq(0,9,1)
30.创建自定义函数的语句是?(A)
A.function B.def
C.define D.以上都可以
31. f3 <- function(a123,b12,b13){list(a=a123,b1=b12,b2=b13)} ,构建一 个 函 数 , 该 函 数 为 三 个 向 量 构 成 的 列 表 , 函 数 包 括 三 个 参 数 。 则
f3(2,3,a123=1)$a 的结果为(D)
A.$a [1] 2
B.$a [1] a123
C.$a [1] 3
D.$a [1] 1
32.以下命令中,能够画出 3 行 2 列的多重图框且第 2 幅图在第一行第二列的是
(B)
A.par(mfcol = c(3,2)) B.par(mfrow = c(3,2))
C.par(mfcol = c(2,3)) D.par(mfrow = c(2,3))
33.自定义坐标轴函数 axis()的参数中,用于添加坐标轴刻度标签的是(C)
A.font= B.tick=
C.labels= D.at=
34.图例函数 legend()的参数中,用 legend=指定的是(A)
A.图例内容的字符向量 B.图例内容的颜色
C.图例内容的线条宽度 D.图例边框的类型
35.以下命令中,能够画出 3 行 2 列的多重图框且第 2 幅图在第二行第一列的是
(D)
A.par(mfrow = c(2,3)) B.par(mfrow = c(3,2))
C.par(mfcol = c(2,3)) D.par(mfcol = c(3,2))
36.高级绘图函数中,可以将坐标轴标签禁用的参数是(A)
A.ann=F B.axex=T
C.axex=F D.ann=T
37.R 中的做图函数是什么?(A)
A.plot B.draw
C.paint D.image
38.将图像输出到 pdf 文件的函数是什么?(B)
A.export B.pdf
C.output D.print 39.现在有三个班的学生数学成绩,要求绘图并比较三个班数学成绩的分布形态。
以下哪个函数可以达成这个目的?(C)
A.density B.lines
C.boxplot D.barplot
40.随机数是统计实验中的常用对象。请问以下哪一个选项是 R 软件中生成均匀
分布随机数的函数?(C)
A. runif B.punif
C. rnorm D.pnor
二、 判断题
答题说明:正确的将答题纸上写 “T” ,错误的将答题纸上写 “F”
1.R 是一种开源软件。(T)
2.R 是一种区分大小写的解释型语言。(T)
3.R 语言的包只能在线安装。(F)
4.使用代码 x <- 1024;length(x) 后,得到的 x 的长度为 4。(F)
5.可以把向量、矩阵、数据框、列表、数组放在一个列表里。(T)
6.函数可以没有函数名。(T)
7.函数主体可以没有返回语句。(F)
8.d 是一个矩阵,x<-apply(d,2,f)这行代码中,apply 是对 d 这个矩阵每一行运
用函数。(F)
9.每一个 R 函数都包括三个部分:函数名,程序主体以及参数集合。如果最后一
行不输出结果,整个函数也将不会有返回值 (F)
10.rbind()函数,cbind()函数,merge()函数都可以实现数据的合并。(T)
11.R 中常见的逻辑运算符 X | Y 表示同时满足 X 和 Y。(F)
12.cbind 函数是根据行进行合并,即叠加所有行;rbind 函数是根据列合并,即
叠加所有列。(F)
13.data.frame()的作用是创建一个数据框。(T) 、程序填空题
答题说明:答案必须做在答题纸上,做在试卷上一律无效。
1.如欲在 R 语言中安装第三方包,包的名字是“plyr”,则安装语句是?
请写出代码: install.packages("plyr")
若要加载这个包语句是?
请写出代码: library(plyr)
2. 2*1:5 结果为?
请输出结果: 2 4 6 8 10
3. x = sin(
22/3) ,y= x 2 , z = y 10 ,求 x + 2y − 5z ,
请写出代码:
x <- sin (22/3
y <- x^2
z <- y^10
x+2*y-5*z
4.建立起始值=3,增量值=5.5,终止值=41.5 的一维数组下 x,
请写出代码: x <- seq(3,41.5,by=5.5)
5.建立 a 向量,分量初值为 1,公差为 3 的等差数列值,长度为 10。
请写出代码: a <- seq(1,by=3,length=10)
6.用函数 rep()构造一个向量 x,它由 3 个 3,4 个 2,5 个 1 构成
请写出代码: x <- c(rep(3,3),rep(2,4),rep(1,5))
7.构造一个向量 x,向量是由 5 个 1,3 个 2,4 个 3,2 个 4 组成。
请写出代码: x <- c(rep(1,5),rep(2,3),rep(3,4),rep(4,2))
8.创建 2 到 50 的向量,形式为 2,4,6,8…,48,50 并命名为 vector1
请写出代码: vector1 <- seq(2,50,by=2)
9.在上题中选取 vector1 中的第 10,15,20 个元素
请写出代码: vector1[c(10,15,20)]
10.在上题中选取 vector1 中的第 10 到 20 个元素
请写出代码: vector1[10:20]
11.在第 8 题中选取 vector1 中的值大于 40 的元素 请写出代码: vector1[vector1>40]
12.构造 4*5 矩阵 A 和 B,其中 A 是将 1,2……20 按行输入,B 是按列输入,
请写出代码: A <- matrix(1:20,nrow = 4,ncol = 5,byrow=T)
B <- matrix(1:20,nrow=4,ncol = 5)
13.为图形添加标题和坐标轴标签的函数名是什么?(只写函数名,不用写括号,
注意大小写)
正确答案:title
14.用来创建自定义坐标轴的函数名是什么?(只写函数名,不用写括号,注意
大小写)
正确答案:axis
四、程序大题(请按要求写出相关的代码)
答题说明:答案必须做在答题纸上,做在试卷上一律无效。
1. 创建一个向量 S,它的元素为“one”,“two”,“three”,并查看它的类型。
s <- c("one","two","three")
typeof(s)
2.生成一个数值型向量,其元素为 21,34,50,并对其中元素进行命名为“math”,
“science”,“chinese”
c(math=21,science=34,chinese=50)
或者:x <- c(21,34,50)
names(x) <- c("math","science","chinese")
3.怎么生成向量:“临床 2016 甲、临床 2016 乙、临床 2017 甲、临床 2017 乙、
临床 2018 甲、临床 2018 乙、临床 2019 甲、临床 2019 乙”
paste("临床",rep(2016:2019,each=2),rep(c("甲","乙"),3),sep="")
4.随机产生一个包括负数和正数的向量,负数采用 1-负数替代,即-3 变成 4,
正数用 1+正数替代,即 2 变成 3,怎么编写代码?
ss <- runif(10,-2,2)
ss[ss>0]<- ss[ss>0]+1
ss[ss<0] <- 1-ss[ss<0] 5.datasets 是 R 中一个重要的数据集,很多有用的数据都在这个集合中。尝试
写出 R 的代码,查看指定包“datasets”中的数据集。
library(datasets)
data()
6.写出 R 的代码,建立一个 4 行,3 列的矩阵,矩阵的名字是 matrix43,每一行
的名字是 a、b、c、d,列的名字是 e、f、g。
matrix43<-
matrix(1:12,nrow=4,byrow=T,dimnames=list(c("a","b","c","d"),c("e","f"
,"g")))
7.写出 R 的代码,创建一个名为 student 的数据框,包含这样几个元素:
学生的学号,名字:sno;值:2020001,2020002,2020003
学生的姓名,名字:sname;值:John,David,Kate
学生的年龄,名字:sage;值:20,21,22
学生的专业,名字:dept;值:cs, se, math
student <- data.frame(
sno=c(2020001,2020002,2020003),
sname=c("John","David","Kate"),
sage=c(20,21,22),
dept=c("cs", "se"," math"))
8.写出 R 的代码,将问题 7 中的 student 数据框中的 sname 和 dept 两列放在
table()中输出。
table(student$sname,student$dept)
9.设 x=(1,3,5,7,9),构造 5*3 矩阵 M,其中第 1 列全为 1,第 2 列为向量 x,
第 3 列的元素为 x^2,并给矩阵的 3 列命名,分别是 const,x 和 x2.
x <- c(1,3,5,7,9)
M <- matrix(c(rep(1,5),x,x^2),nrow = 5)
colnames(M) <- c("const","x","x2")
10.掷一枚骰子 200 次,统计各个点数出现的次数。
d <- round(runif(200,1,6)) table(d)
11.创建对象 x,其值为 1:10,使用 write 函数将其写入文件 x.txt,删除 x
setwd("C:\王蕾\工作\教学\R 语言\2020 年\习题")
x <- 1:10
write.csv(x,"x.txt")
rm(x)
12.读取 MASS 包的 cats 数据集,
(1)并查看数据的维度信息。
(2)查看数据的前六行和后六行,。
(3)查看第 13,15,65,78,91 行的数据信息。
library(MASS)
data(cats)
dim(cats)
head(cats)
tail(cats,6)
cats[c(13,15,65,78,91),]
13.使用两种循环,输出向量 1:100 中所有数据
for (i in 1:100) {
print(i)
}
14.使用 while 循环求 1+2+3+…+100 的和
i <- 1
sum <- 0
while(i<=100){
sum <- sum+i
i <- i+1
}
print(sum)
15. 读取数据文件 stu.txt,记录了 19 名学生的身高体重数据,做如下几个处理: (1)统计男生、女生的个数
(2)计算每个人的 BMI 指数:体重(kg)除以身高(m)的平方,将结果增加
到数据框中.
(3)BMI 指数>25 为肥胖,标记为 High, BMI 指数<18 为过轻标记为 Low,其
他为正常,标记为 Normal.将结果增加到数据框中。
(4)将所有男生的信息提取出来,写入一个 txt 文件中。
stu <- read.table("stu.txt",header = T)
table(student$Sex)
stu$BMI<-round(stu$Weight/((stu$Height/100)^2),1)
stu$score <- "Normal"
stu$score[stu$BMI > 25] <- "High"
stu$score[stu$BMI < 18] <- "Low"####
stu
附件:stu.txt 文件信息
Name Sex Age Height Weight
Alice F 13 156.5 45
Becka F 13 165.3 53
Gail F 14 164.3 34
Karen F 12 156.3 68
Kathy F 12 159.8 61
Mary F 15 166.5 56
Sandy F 11 151.3 44
Sharon F 15 162.5 53
Tammy F 14 162.8 70
Alfred M 14 169.0 60
Duke M 14 163.5 55
Guido M 15 167.0 45 James M 12 157.3 75
Jeffrey M 13 162.5 36
John M 12 159.0 51
Philip M 16 172.0 71
Robert M 12 164.8 49
Thomas M 11 157.5 78
William M 15 166.5 58
16.随机产生 60 名学生的身高(范围在 155cm 到 185cm 之间),体重(范围在 45kg
到 85kg 之间)使用红线绘制体重关于身高(身高为横坐标,体重为纵坐标)的
散点图,要求:同时绘点和线,线不穿过点,指定符号大小为默认值的 1.5 倍数,
线条宽度设置为为默认值的 2 倍。
height <- round(runif(60,155,185))
weight <- round(runif(60,45,85))
plot(height,weight,col=2,type="b",cex=1.5,lwd=2)
17.最近 5 届奥运会金牌榜分布如下
1996
2000
2004
2008
USA
44
37
35
36
China
16
28
32
51
Russia
26
32
27
23
Korea
7
8
9
13
用条形图分析上述数据,分别用分组形式和堆叠形式,并加图例。
x1<-c(44,37,35,36,16,28,32,51,26,32,27,23,7,8,9,13)
y1<-matrix(x1,nrow=4,byrow =T)
colnames(y1)<-c(1996,2000,2004,2008)
rownames(y1)<-c('USA','China','Russia','Korea')
y1
barplot(y1,col=rainbow(4),
legend=c('USA','China','Russia','Korea'),names.arg=colnames(y1))
#(分组形式)
M<-c("1996","2000","2004","2008")
x<-matrix(c(44,37,35,36,16,28,32,51,
26,32,27,23,7,8,9,13),nrow = 4,ncol = 4)
x
barplot(x,legend=c('USA','China','Russia','Korea'),
col=rainbow(4),names.arg=M,beside = TRUE)
18. 绘制 y=sinx 在[-2 π, 2π ]上的图像,在图像上添加函数表达式,并使用红线
添加 y= ±1 这条线。
x<-seq(from=-2*pi,to=2*pi,length=200)
y<-sin(x)
plot(x,y,lty=1,type="l",col="red",lwd=2)
text(locator(1),expression(y==x/2-2*sinx))
19.使用 mtcar 数据集,创建 wt,mpg,disp 的直方图,图形组合为 3 行 1 列。
attach(mtcars)
par(mfrow=c(3,1))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)

最后

以上就是淡然蜻蜓为你收集整理的R语言期末的全部内容,希望文章能够帮你解决R语言期末所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部