前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言入门之数据类型

R语言入门之数据类型

作者头像
生信与临床
发布2020-08-06 10:00:28
5340
发布2020-08-06 10:00:28
举报

R语言常见的数据类型

1. 向量(Vectors)

(1)向量本质上是由各种元素(字符串、数字等)组成的一维数据结构

代码语言:javascript
复制
a <- c(1,2,5.3,6,-2,4) # 数值型向量
b <- c("one","two","three") # 字符型向量
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #逻辑型向量

(2)提取向量的元素

代码语言:javascript
复制
a[c(2,4)] # 获取第二个和第四个元素

2. 矩阵(Matrices)

(1)矩阵本质上是一个二维数据结构,要求矩阵的每一列长度相同,同时元素类型要求一致,比如都是数值型元素。

代码语言:javascript
复制
mymatrix <- matrix(vector, nrow=r, ncol=c, byrow=FALSE,dimnames=list(char_vector_rownames, char_vector_colnames))

这里byrow=TRUE指数据先按行排列,byrow=FALSE 是指数据按列排列 (默认值). dimnames 可以给行和列提供相应的标签。

代码语言:javascript
复制
#实例
cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,dimnames=list(rnames, cnames))

(2)对矩阵里的元素进行索引

代码语言:javascript
复制
x[,4] # 获取矩阵的第四列
x[3,] # 获取矩阵的第三行
x[2:4,1:3] # 获取矩阵1,2,3列里的第2,3,4行元素

注意对于二维元素的索引,逗号前表示行,后表示列。如果想取整行或整列,只需要在逗号之前或之后写上相应的标签或这序数。

3. 数组(Arrays)

与矩阵不同的是,数组的维度可以大于2,其余性质和矩阵类似,这里就不再赘述了。

4. 数据框(Data Frames)

(1)数据框和矩阵最大的不同是数据框的不同列可以有不同类型的元素,即可以有的列是数值型,有的列是字符型等。

代码语言:javascript
复制
d <- c(1,2,3,4)
e <- c("red", "white", "red", NA)
f <- c(TRUE,TRUE,TRUE,FALSE)
mydata <- data.frame(d,e,f)
names(mydata) <- c("ID","Color","Passed") # 设置变量名

(2)数据框的索引方式多种多样,可以用行或者列的序数去进行,也可以直接用列名进行索引,还可以用data$colnames这样的方式进行索引。

代码语言:javascript
复制
myframe[3:5] # 提取数据框的第3,4,5列
myframe[c("ID","Age")] # 提取列名为‘ID’和‘Age'的两列数据
myframe$X1 # 提取变量名为’X1‘的那一列

5. 列表(Lists)

(1)列表是可以把各种数据类型整合在一起的数据类型,一个列表里可以有很多其它类型数据,不同数据类型里也可以有其它数据。

代码语言:javascript
复制
# 建立一个包含四个元素的列表(字符串、数值型向量、矩阵和标量)
w <- list(name="Fred", mynumbers=a, mymatrix=mymatrix, age=5.3)

(2)对列表进行索引时需要使用[[]]

代码语言:javascript
复制
mylist[[2]] # 提取列表里的第二个元素
mylist[["mynumbers"]] # 利用元素名字提取列表里的元素

好了,今天就分享到这里!下期会讲述因子(factor)这个数据类型以及一些常用的R函数。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信与临床 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档