R语言数据结构-数据框&矩阵&列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言数据结构-数据框&矩阵&列表相关的知识,希望对你有一定的参考价值。

参考技术A

R语言数据结构主要有以下四种:

四种数据结构,重点掌握 向量 数据框

判断数据结构的函数: class()

向量的详细讲解在上一篇文章,以下主要讲数据框,矩阵,列表:

以下大部分操作使用的数据框为df

几个重要的函数:查看数据框的行数和列数,行名和列名;以及单独查行的数量,列的数量

数据框取子集有几种方法 : $ 符号,坐标,名字,逻辑值

在 [,] 里,行在前面(左边),列在后面(右边),行与列用逗号 , 隔开: [行,列]

中括号里的逗号,表示维度的分割

数据框按照逻辑值取子集,TRUE对应的行/列留下,FALSE对应的行/列去掉。

修改第二列的列名,就是修改列名这个向量的第二个元素

https://blog.csdn.net/weixin_39718006/article/details/110516670

后续的笔记会有详细介绍

矩阵不能用 $ 符号取子集

t():转置函数,行与列的互换

as.data.frame():转换,把矩阵变为数据框 ,用as.matrix()函数也能把数据框变为矩阵

聚类,相似的行,相似的列会聚在一起。热图自动聚类,行和列的相对位置发生了变化,只是列与列,行与行之间的变化规律。

![热图自动聚类]]( https://upload-images.jianshu.io/upload_images/17511166-f6e2432a04cffbbe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )

热图默认聚类,修改参数,不让聚类,热图与表达矩阵对应。

默认的设置不符合自己的预期,可以子啊作者允许的范围内定义。

查看函数帮助文档,参考修改,达到自己的要求。

列表没有列名和行名,只有元素的名字。列表可以由数据框,矩阵,向量,单独的一个数字都可以组成。

列表没有行和列的概念,只有元素,取子集的两种方式: [[]] , $ ,

$ 有两个作用:数据框取子集和列表取子集。在矩阵和向量里不能用 $ 。

用 class() 函数更能具体说明问题, 判断数据结构和数据类型

以上内容是听 生信技能树 小洁老师的 R语言线上课 ,根据自己的理解记录下来,小洁老师授课非常细心,对不同水平的同学都照顾到,并且补充很多技巧以及注意事项。

认识R语言的四种数据结构,小洁老师强调重点掌握向量和数据框,在实战中遇到很多数据结构都是数据框,表达矩阵可以转化为数据框,数据框的一列可以看做是一个向量。小洁老师把实战中会需要的操作融入到练习题,在实战中能联想起小洁老师讲过的知识点。

R语言#数据集&矩阵

R语言#数据集&矩阵





数据集







请输入标题     bcdef


数据集的概念:由数据构成的一个矩形数组称为数据集。



请输入标题     abcdefg


R语言#数据集&矩阵

data(package = .packages(all.available = TRUE)) #查看R中所有的内置数据集

R语言#数据集&矩阵
R语言#数据集&矩阵

data(package=“datasets”) 

#data(package= “package name”) 查看指定包(package name :datasets )中的数据集

R语言#数据集&矩阵
R语言#数据集&矩阵

# help函数或者? : 查看某个数据集的信息。

help("iris")

? iris





矩阵







请输入标题     bcdef


矩阵:存放相同基本类型元素的二维向量。

#使用matrix函数创建矩阵

#matrix(data, nrow, ncol, byrow, dimnames)

#data为包含矩阵元素的向量。

nrow为行数,ncol为列数。

byrow = TRUE 表示数据填入矩阵时按行次序,否则按列次序。

dimnames:一般是一个长度为2的列表。

列表第一个成员的长度与行数相等的字符型向量,表示每行的名字。

列表的第二个成员是长度与列数相同的字符型向量,表示每列的名字,列表使用list函数定义。



请输入标题     abcdefg

R语言#数据集&矩阵
R语言#数据集&矩阵

a_matrix<-matrix(1:12, nrow=4,dimnames=list(c("r1","r2","r3","r4"), c("c1","c2","c3")))

a_matrix

#矩阵名称—a_matrix;定义符号—<-;先填充C1列,再填充C2列,最后填充C3列。

R语言#数据集&矩阵
R语言#数据集&矩阵

#可以不使用dimnames。

another_matrix<-matrix(1:12, nrow=4,ncol=3,byrow = TRUE)

another_matrix

#按照行数进行填充


请输入标题     bcdef


【读取矩阵的方法】

类似于向量元素访问,但索引的维度多。
每个维度均可通过多种方法访问。
不同维度可用不同方式指定,下标间用逗号分隔。
如果省略某个下标位置,则表示选取该下标的全部元素。



请输入标题     abcdefg

R语言#数据集&矩阵
R语言#数据集&矩阵

b1<-a_matrix[1:3,c(2,3)] #a_matrix中第一行到第三行,第二列和第三列组成的矩阵。

b1

R语言#数据集&矩阵
R语言#数据集&矩阵

b2<-a_matrix[2,] #a_matrix中第二行所有列的全部元素。

b2

R语言#数据集&矩阵
R语言#数据集&矩阵

b3<-a_matrix[,-1] #a_matrix中所有行但不包括第一列的元素。

b3

R语言#数据集&矩阵
R语言#数据集&矩阵

b4<-a_matrix [2:3,c(TRUE,FALSE,FALSE)] 

#a_matrix中第二、三行第一列(不选二、三列)的元素。

b4

R语言#数据集&矩阵

b5<-a_matrix[2,-1] #a_matrix中第二行除最后一列其他元素组成的矩阵。

b5













生态学小知识

以上是关于R语言数据结构-数据框&矩阵&列表的主要内容,如果未能解决你的问题,请参考以下文章

R语言(矩阵的名字,数组,列表,数据框)

R基础:R语言数据结构1

附代码 |详解R语言的高级数据结构

R语言初识

R语言同时输出几列数据的和

R语言基础知识|apply函数家族中的兄弟姐妹