数组、数据框、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,末项为R语言课后习题第一章 r语言答案_R语言课后习题第一章

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

请用适当的方式构造如下两个二维数组: R语言课后习题第一章 r语言答案_r 语言_02

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

请用适当的方式构造如下二维数组: R语言课后习题第一章 r语言答案_答案_03

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

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

题-16

请用适当的方式构造如下两个二维数组: R语言课后习题第一章 r语言答案_答案_04

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

请用适当的方式构造如下二维数组: R语言课后习题第一章 r语言答案_r 语言_05

请提取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(L$技术栈)

[1] “php” “r” “python”
[1] “php” “r” “python”

相关问题

关于中文编程
我们可以发现R语言能够略微支持中文编程,因此我们可以写一些很有意思的代码:

# 定义函数
"输出"<-function(x){print(x)}
"求均值"<-function(x){mean(x)}
"建立集合"<-function(...){c(...)}

# 中文编程
"一群人的年龄"=建立集合(15,26,18,21,30)
输出(一群人的年龄)
"平均年龄"<-求均值(一群人的年龄)
输出(平均年龄)

[1] 15 26 18 21 30
[1] 22

关于包无法下载

install Packages时找不到fBasics等包怎么办?

可通过 Tools->Global options->Packages->Primary CRAN repository

将镜像库换为国内源,例如清华源:

China (Beijing 1) [https] - TUNA Team, Tsinghua University

点击右下角Apply应用