R语言基础题及答案——数组数据框list列表的创建及部分基础问题

Posted slandarer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言基础题及答案——数组数据框list列表的创建及部分基础问题相关的知识,希望对你有一定的参考价值。

数组、数据框、list列表的创建及部分基础问题

数列

题-1

请构造如下数列:1,2,3,4,5,6,7,8

1:8
seq(from=1,to=8)

[1] 1 2 3 4 5 6 7 8
[1] 1 2 3 4 5 6 7 8

题-2

用适当R语句产生数列:1,4,7,10,13,16,19;
(1)求以上数列的均值,中位数,方差;
(2)删去第1和第3个数。

# 以3为公差生成等差数列
C1<-seq(1,19,by=3)
# seq(1,19,length.out=7)
print(C1)

# 求均值、中位数、方差
print("[ mean ]- - - -");mean(C1)
print("[median]- - - -");median(C1)
print("[ var  ]- - - -");var(C1)

# 删去第1和第3个数
C1<-C1[c(-1,-3)]
print(C1)

[1] 1 4 7 10 13 16 19
[1] “[ mean ]- - - -”
[1] 10
[1] “[median]- - - -”
[1] 10
[1] “[ var ]- - - -”
[1] 42
[1] 4 10 13 16 19

题-3

构造一个向量,该向量由5个1,3个2,4个3和2个4组成。

C2<-rep(c(1,2,3,4),times=c(5,3,4,2))
print(C2)

[1] 1 1 1 1 1 2 2 2 3 3 3 3 4 4

题-4

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

# x<-seq(from=3,to=47,by=5.5)
x<-seq(3,47,by=5.5)
print(x)

[1] 3.0 8.5 14.0 19.5 25.0 30.5 36.0 41.5 47.0

题-5

建立等差一维数组x:首项为0,末项为 π \\pi π ,项数为15.

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

[1] “numeric”

[1] 0.0000000 0.2243995 0.4487990 0.6731984 0.8975979 1.1219974 1.3463969 1.5707963 1.7951958 2.0195953 2.2439948 2.4683942
[13] 2.6927937 2.9171932 3.1415927

题-6

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

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

[1] 100 200 200 200 400 800

题-7

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

vector1<-seq(2,50,by=2)
print(vector1)

[1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50

题-8

选取vector1中的第20个元素

a<-vector1[20]
print(a)

[1] 40

题-9

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

a<-vector1[c(10,15,20)]
print(a)

[1] 20 30 40

题-10

选取vector1中第10到20个元素

a<-vector1[10:20]
print(a)

[1] 20 22 24 26 28 30 32 34 36 38 40

题-11

选取vector1中值大于30的元素

a<-vector1[vector1>30]
print(a)

[1] 32 34 36 38 40 42 44 46 48 50

题-12

创建向量1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

rep(c(1,2,3,4,5),times=3,each=1)

[1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

题-13

使用rep创建向量 0 0 0 1 1 1 2 2 2

rep(c(0,1,2),times=c(3,3,3))
rep(c(0,1,2),each=3)

[1] 0 0 0 1 1 1 2 2 2
[1] 0 0 0 1 1 1 2 2 2

二维数组

题-14

请用适当的方式构造如下两个二维数组: A = [ 1 2 3 4 5 6 7 8 9 ] , B = [ 1 4 7 2 5 8 3 6 9 ] \\mathbf{A}=\\left[\\begin{array}{lll}1 & 2 & 3 \\\\4 & 5 & 6 \\\\7 & 8 & 9\\end{array}\\right], \\quad \\mathbf{B}=\\left[\\begin{array}{lll}1 & 4 & 7 \\\\2 & 5 & 8 \\\\3 & 6 & 9\\end{array}\\right] A=147258369,B=123456789

A<-matrix(data=1:9,3,3,byrow=TRUE);print(A)
# 只要可以判断形状有很多兼容写法
# A<-matrix(data=1:9,3,byrow=TRUE);print(A)
# A<-matrix(data=1:9,nrow=3,byrow=TRUE);print(A)
# A<-matrix(data=1:9,ncol=3,byrow=TRUE);print(A)

B<-matrix(data=1:9,3,3,byrow=FALSE);print(B)

… [,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
…[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9

题-15

请用适当的方式构造如下二维数组: A = [ 1 1 1 1 1 1 1 1 1 ] \\mathbf{A}=\\left[\\begin{array}{lll}1 & 1 & 1 \\\\1 & 1 & 1 \\\\1 & 1 & 1\\end{array}\\right] A=111111111

A<-matrix(data=1,3,3);print(A)

… [,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
[3,] 1 1 1

题-16

请用适当的方式构造如下两个二维数组: A = [ 1 2 3 1 2 3 1 2 3 ] , B = [ 1 1 1 2 2 2 3 3 3 ] \\mathbf{A}=\\left[\\begin{array}{lll}1 & 2 & 3 \\\\1 & 2 & 3 \\\\1 & 2 & 3\\end{array}\\right], \\quad \\mathbf{B}=\\left[\\begin{array}{lll}1 & 1 & 1 \\\\2 & 2 & 2 \\\\3 & 3 & 3\\end{array}\\right] A=111222333,B=123123123

A<-matrix(data=1:3,3,3,byrow=TRUE);print(A)

B<-matrix(data=1:3,3,3,byrow=FALSE);print(B)

… [,1] [,2] [,3]
[1,] 1 2 3
[2,] 1 2 3
[3,] 1 2 3
…[,1] [,2] [,3]
[1,] 1 1 1
[2,] 2 2 2
[3,] 3 3 3

题-17

请用适当的方式构造如下二维数组: A = [ 1 3 5 7 9 11 13 15 17 ] \\mathbf{A}=\\left[\\begin{array}{lll}1 & 3 & 5 \\\\7 & 9 & 11 \\\\13 & 15 & 17\\end{array}\\right] A=1713391551117

请提取A数组第一行和第二行构造数组B

请将数组B,第一行第一列元素更改为100

请删除数组A第一列

A<-matrix(data=seq(from=1,to=17,by=2),3,3,byrow=TRUE);print(A)

B<-A[c(1,2),];print(B)

B[1,1]<-100;print(B)

A<-A[,-1];print(A)

…[,1] [,2] [,3]
[1,] 1 3 5
[2,] 7 9 11
[3,] 13 15 17
…[,1] [,2] [,3]
[1,] 1 3 5
[2,] 7 9 11
…[,1] [,2] [,3]
[1,] 100 3 5
[2,] 7 9 11
…[,1] [,2]
[1,] 3 5
[2,] 9 11
[3,] 15 17

数据框

题-18

请创建如下数据框:

NameSexAge
JoshM22
SlandarerM100
AshleyF25
BrittanyF18
info<-data.frame(Name=c('Josh','Slandarer','Ashley','Brittany'),Sex=c('M','M','F','F'),Age=c(22,100,25,18))
print(info)

Name Sex Age
Josh M 22
Slandarer M 100
Ashley F 25
Brittany F 18

题-19

请创建如下数据框:
并单独输出姓名数据

姓名性别年龄
JoshM22
SlandarerM100
AshleyF25
BrittanyF18
info<-data.frame("姓名"=c('Josh','Slandarer','Ashley','Brittany'),"性别"=c('M','M','F','F'),"年龄"=c(22,100,25,18))
print(info)
print(info$"姓名")
#print(info$姓名)

姓名 性别 年龄
Josh M 22
Slandarer M 100
Ashley F 25
Brittany F 18
.
[1] “Josh” “Slandarer” “Ashley” “Brittany”

字典

题-20

请用两种方式创建如下字典:
姓名->Csdn
年龄->27
技术栈->php r python

并输出其技术栈

L<-list("姓名"='Csdn',"年龄"=27,"技术栈"=c('php','r','python'))
print(L$技术栈)

L<-list('Csdn',27,c('php','r','python'))
names(L)<-c("姓名","年龄","技术栈")
print以上是关于R语言基础题及答案——数组数据框list列表的创建及部分基础问题的主要内容,如果未能解决你的问题,请参考以下文章

R语言学习 第七篇:列表

R语言(矩阵的名字,数组,列表,数据框)

附代码 |详解R语言的高级数据结构

R语言基础题及答案——R语言与统计分析第四章课后习题(汤银才)

R语言基础题及答案——R语言与统计分析第四章课后习题(汤银才)

133道 Java 面试题及答案