R语言创建向量、数据框以及数据框的操作

作业:2019.04.23- 笔记整理

1.创建一个向量元素为a,b,e,2,5

创建向量时,先给向量命名,如letters,名字后加“<-符号,接着写函数c(元素)”,如“letters <- c(a,b,c,2,5)”。输入"<-"的方法:同时按“alt和-”或先按"<"再按"-"。

letters <- c(a,b,c,2,5)

2.确定上述向量中每个元素的数据类型

向量只有一行,向量里元素的数据类型操作:class(向量名称[第几列]),如下:

class(letters[1])
class(letters[2])
class(letters[3])
class(letters[4])
class(letters[5])

> class(letters[1])
[1] "character"
> class(letters[2])
[1] "character"
> class(letters[3])
[1] "character"
> class(letters[4])
[1] "character"
> class(letters[5])
[1] "character"

3.创建一个包含字符和数值的数据框(5行3列)

给数据框的各列及各行命名,输入函数c(元素为数字直接输入,每个元素之间用逗号隔开,英文单词要加引号,再用逗号分开),按要求输入数据框的函数后,记得要输入数据框如resualtdata,才能在结果中把数据框的各行各列内容显示出来。

months<-c(1,3,5,9,12)
scores <- c(5,6,5,6,7)
speaking <- c("good","fine","good","fine","excellent")
resultdata <- data.frame(months,scores,speaking)
resultdata

  months scores  speaking
1      1      5      good
2      3      6      fine
3      5      5      good
4      9      6      fine
5     12      7 excellent

4.对上述数据框的行名和列名进行更改

对数据框的各行和各列进的名称修改时,方法:rownames(数据框名字)<-(各列名之间要用引号,列名之间用逗号隔开),colnames(数据框名字)<-(各行名之间要用引号,行名之间用逗号隔开),最后再把数据框名字写上后运行。

> rownames(resultdata) <- c("once","twice","third","fourth","fifth")
> colnames(resultdata) <- c("times","pionts","oraltest")
> resultdata

   times pionts  oraltest
once       1      5      good
twice      3      6      fine
third      5      5      good
fourth     9      6      fine
fifth     12      7 excellent
> 

5.确定数据框中各列的数据类型

第一种方法,class(数据框名称[,第几列]),第几行的数字是空白的;同理,确定数据框中各行的数据类型,class(数据框名称[第几行,]),第几列的数字是空白的。第二种方法,class(数据框名称$第几列的名称),如下。

class(resultdata[,1])
class(resultdata[,2])
class(resultdata[,3])

> class(resultdata[,1])
[1] "numeric"
> class(resultdata[,2])
[1] "numeric"
> class(resultdata[,3])
[1] "factor"

or

class(resultdata$times)
class(resultdata$pionts)
class(resultdata$oraltest)

> class(resultdata$times)
[1] "numeric"
> class(resultdata$pionts)
[1] "numeric"
> class(resultdata$oraltest)
[1] "factor"

6.不同方法检索数据框的第3行第2列的元素

方法1:数据框名称 [第几行,第几列];
方法2:数据框名称["第几行对应的名称","第几列对应的名称"],此方法相应的行名和列名一定要加双引号,否者运行是错误的。

resultdata[3,2]
resultdata["third","pionts"]

> resultdata[3,2]
[1] 5
> resultdata["third","pionts"]
[1] 5

7.创建一个矩阵(4行6列)

4行6列:矩阵名称<-matrix(1:24,nrow=4,ncol=6)
5行4列:矩阵名称<-matrix(1:20,nrow=5,ncol=4)

X <- matrix(1:24,nrow=4,ncol=6)
X

[,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    5    9   13   17   21
[2,]    2    6   10   14   18   22
[3,]    3    7   11   15   19   23
[4,]    4    8   12   16   20   24

8.对上述矩阵的行名和列名进行更改

参考在数据框中更改各行各列命名的方法,注意的是,输入命名的函数后,运行不要从原始矩阵函数开始,不然会一直默认,应从矩阵名称开始,或者输入更改各行和各列的函数后,再输入矩阵名称,之后运行即可。

rownames(X) <- c("D1","D2","D3","D4")
colnames(X) <- c("E1","E2","E3","E4","E5","E6")
X

 E1 E2 E3 E4 E5 E6
D1  1  5  9 13 17 21
D2  2  6 10 14 18 22
D3  3  7 11 15 19 23
D4  4  8 12 16 20 24

9.不同方法检索数据框的第3行第2列的元素

参考数据框的方法,同样也要注意在使用X["D3","E2"]方法时,一定要给具体的行和列的名称加引号。

X[3,2]
X["D3","E2"]

> X[3,2]
[1] 7
> X["D3","E2"]
[1] 7

在使用R语言时,输入的字母,符号一定是用英文版,当命令发生错误时,要仔细核对,是不是格式出现错误,显示不出结果时,输入相应的函数后,是不是没有输入数据框或矩阵。

将作业写至邮件[email protected],抄送[email protected]

你可能感兴趣的:(R语言创建向量、数据框以及数据框的操作)