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
请创建如下数据框:
Name | Sex | Age |
---|---|---|
Josh | M | 22 |
Slandarer | M | 100 |
Ashley | F | 25 |
Brittany | F | 18 |
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
请创建如下数据框:
并单独输出姓名数据
姓名 | 性别 | 年龄 |
---|---|---|
Josh | M | 22 |
Slandarer | M | 100 |
Ashley | F | 25 |
Brittany | F | 18 |
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语言与统计分析第四章课后习题(汤银才)