R 语言-2 基本数据结构及操作

目录

R 基本数据结构及操作

一、R 基本数据结构

1》向量

在R中,一切都是向量(vector)。R 中没有单独的标量。

# 创建一个向量
a<-c(1,2,3,4,7)
a

筛选

#在变量a中筛选出1
a[1]
#在变量a中筛选出7
a[5]
#在变量a中筛选出前三个
a[1:3]
#在变量a中筛选出小于4的值
a[a<4]

合并向量

使用c()

c(a[1],2,a[1:3],4)
》结果是 1,2,1,2,3,4

2》矩阵

矩阵,从本质上来说就是多维的向量,用matrix函数创建

a<-matrix(c(1,2,3,4),2)
a
#一共有1,2,3,4 四个数,排成2行。数字顺序默认按列排。例如,第一行为1,3;第一列为1,2.
#如果让数据按行排序。
b<-matrix(c(1,2,3,4),2,byrow=TRUE)
#可以使用seq、rep函数来创建矩阵
#seq函数 产生等差数列 seq(起始数,终点数,间隔),下面的代码的意思是 产生 1~9 共9个数。排成3行。
d<-matrix(seq(1,9,1),3)
#rep 函数 产生重复数 rep(1,4) 产生4个1;rep(c(1,2,3),c(1,2,3)) 产生1个1,2个2,3个3.
#下面代码 产生9个重复的1,排成3行。
e<-matrix(rep(1,9),3)
#产生1~20 个数,排成4行,5列
f<-matrix(1:20,4,5)

筛选

与向量筛选一样,可以采用下标进行筛选。

#筛选矩阵a中 第一行的第一个数
#a[1,1] ,第一个1表示第一行,第二个1表示第一列。
a[1,1]
#筛选矩阵a 中第二行的第一个数
a[2,1]
#筛选矩阵a 中第二行第三个数。
a[2,3]
#输出错误信息,下标超出界限。
#筛选矩阵d 中第一列的前两个数
d[1:2,1]
#筛选矩阵d中第二列的第二,第三个数
d[2:3,2]
#筛选矩阵 f 中第四列的前三个数
f[1:3,4]

3》数据框

  数据框类似矩阵,与矩阵不同的是,数据框可以有不同的数据类型。 一般做数据分析,我们把一个类似 excel 的表格读入 R ,默认的格式 就是数据框 , 可见数据框是一个非常重要的数据结构。用data.frame 创建数据框。在要分析的数据中,每一行代表一个样本,每一列代表一个 变量。采用R内置的数据集来看。

data("iris")
head(iris)

筛选

  筛选数据框与矩阵相似,都可以通过数字下标来获取子集,不同地是因为数据框有不同的列名,我们也可以通过列名来获取某一特定列,例如

iris$Sepal.Length

使用names 函数来获取列名。

names(iris)

4》列表

  列表是一种递归式的向量,我们可以用列表来存储不同类型的数据

筛选

  跟数据框一样的方式

l$name

判断变量的数据结构,可以使用 is. 函数。

#判断a 是否是向量。
is.vetor(a)
#返回结果是TRUE 表明是,返回结果是FALSE 表明不是该数据结构
#判断a 是否是数组
is.array(a)
#判断a 是否是矩阵
is.matrix(a)
#判断a 是否是数据框
is.dataframe(a)
#判断a 是否是列表
is.list(a)

变换数据结构

使用as. 函数

#把矩阵a 变为数据框,并赋值给g.
g<-as.dataframe(a)
#把矩阵a 变成列表,并赋值给h
h<- as.list(a)

猜你喜欢

转载自www.cnblogs.com/zangxiaowu/p/10666569.html