首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言-03数据框、矩阵和列表

“向量”——一维 “表格”——二维 matrix 矩阵-二维,只允许一种数据类型 data.frame 数据框-二维,每列只允许一种数据类型 list列表:可装万物 1.数据框来源 (1)用代码新建 (...2)由已有数据转换或处理得到 (3)读取表格文件 (4)R语言内置数据(没有赋值就可以直接使用的数据,例如iris) 2.新建数据框* 读取文件 df2<-read.csv("gene.csv") df2...#读取"gene.csv"文件,赋值df2 3.数据框属性 4.数据框取子集 df1$gene #"$"前是数据框名称 后是列名;提取该列的向量 #按名字取子集 df1 行,列 图片 5.数据框修改..." #修改一个列名 6.两个数据框的连接 按照共同的列名取交集,后连接 两个数据框列中有交集时既可以使用,自动连接 矩阵新建和取子集 矩阵画热图 pheatmap::pheatmap(m) #热图结果默认聚类...“名字”-names() 后置的难点 数据框按照逻辑值取子集 #将逻辑值赋值给k,按逻辑值在df1中取子集**实战中会经常遇到 删除变量 数据结构总结 以上来源,生信技能树

22200

R 数据整理(二:将文本数据转换为数据框或列表)

类似py 中的readlines 方法,同样,R 的函数也会逐行(识别) x_line <- readLines("MsigDB/h.all.v7.2.symbols.gmt") ps:发现对于gmt...: x_split <- strsplit(x_line, "\t") 每个向量会被按照指定符号切割,每个向量会被转换为列表对象,列表中的元素为按照换行符拆开的一个个元素。...接着我们需要将该列表元素再进行一些处理: names(x_split) 将每个列表的第一个元素,...也就是通路名,作为列表名 x_split 列表中的前两个元素 # 这里 "[" 方法可以理解为 function(x) x[-...,一定要小心使用cbind 连接,因为不等长的连接会自动删除那些过长的列表中的元素(木桶中最短的那根板)

3.2K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R语言 数据框、矩阵、列表的创建、修改、导出

    数据框数据框的创建数据框来源主要包括用代码新建(data.frame),由已有数据转换或处理得到(取子集、运算、合并等操作),读取表格文件(read.csv,read.table等)及R语言内置数据函数...R语言将列名的特殊字符-转化了,该编号可能与其他数据中编号无法匹配,ex2 的工作簿作为list里的不同元素#import高度依赖后缀读写,不能有错export(a,file="b.xlsx") #也可以按工作簿导出数据框属性(包括维度...= ls())load(file = "soft.Rdata") #使Rdata中的向量出现在环境内,本身有名称,无需赋值矩阵和列表矩阵矩阵内所有元素数据类型必须相同*警惕因数据类型不同导致矩阵强制转换引起报错...#取子集方法同数据框t(m) #转置行与列,数据框转置后为矩阵as.data.frame(m) #将矩阵转换为数据框列表列表内有多个数据框或矩阵,可通过list函数将其组成一个列表l <- list(m1

    7.9K00

    R语言基础-向量、矩阵、数据框、列表相关操作

    在此简单说明:times-将整个向量中所有元素视作整体,重复三次;each则是将指定向量中,每一个元素按顺序进行重复指定次数(这边为3)## [1] "a" "a" "a" "b" "b" "b" "...三个a分别对应了k1,12个随机数中的前三个值,那条线是三个值的中位数(不是平均值哦)3.向量、数据框、矩阵、列表#先简单介绍下这些名字吧。# 1.向量是组成数据框以及矩阵的基本单位。...# 2.用坐标df1[2,2] #取数据框中第2行、第2列## [1] "up"df1[2,] #取数据框中第2行,由于取行会保留数据框的一部分属性,因此行名和列名会反馈给你。...,可理解为取df1数据框中score>0的那两行。...','r2','r3','r4')colnames(df1)[2] = 'CHANGE' 3.1.6 两个数据框的链接#随便建两个数据框test1 <- data.frame(name = c('jimmy

    35120

    R数据框一个有趣的小问题

    ') 然后如果想把第一行去掉,只保留第二行数据,我们一般的操作可以有两种 直接中括号减去第一行:test[-1,] dplyr的slice函数:slice(test,-1) 此时就发现了,第一种方法会只得到了一个向量...首先是因为我们的数据框就只有2行1列,一共就2个单元格,去掉第一行,其实也就是只剩下一个单元格的元素了; 其次[] 这个符号,它其实也是一个函数,存在于base包中,它有一个默认参数drop = TRUE...如果剩下的内容是字符串,那么就直接返回字符串;如果剩下的还是一个数据框,那么就返回数据框) 这个函数其实也可以看帮助文档,只要在这种特殊符号的函数两边加上引号即可:?"...[" 【至于我是怎么知道的,因为我有个花花,她说她看了好几本R语言的书里面有提到】 最后的那个dplyr::slice ,当然就是将参数默认调整成了:drop = TRUE ,所以会返回数据框,而没有对数据进行降级...因此,如果我们想通过修改参数的方法,将第一种的结果也输出为数据框,可以这样:

    5500

    Day5:R语言课程(数据框、矩阵、列表取子集)

    ---- 注意:有更简单的方法可以使用逻辑表达式对数据帧进行子集化,包括filter()和subset()函数。这些函数将返回逻辑表达式为TRUE的数据帧的行,允许我们在一个步骤中对数据进行子集化。...我们将filter()在后面的课程中更详细地探讨该功能。 2.列表 从列表中选择组件需要略有不同的表示法,即使理论上列表是向量(包含多个数据结构)。...使用双括号表示法对于访问各个组件同时保留原始数据结构非常有用。创建此列表时,我们知道我们最初在第二个组件中存储了一个数据框。...列表的组件命名数据框的列命名使用的函数都是names()。 查看list1组件的名称: names(list1) 创建列表时,将species向量与数据集df和向量number组合在一起。...从random列表中提取向量 age的第三个元素。 从random列表中的数据框 metadata中提取基因型信息。 ---- 3.导出文件 到目前为止只修改了R中的数据; 文件保持不变。

    17.8K30

    R语言之数据框的合并

    1.纵向合并:rbind( ) 要纵向合并两个数据框,可以使用 rbind( )函数。被合并的两个数据框必须拥有相同的变量,这种合并通常用于向数据框中添加观测。...v.names:这是一个字符串,表示要重塑的值变量的名称。在这种情况下,"conc"表示原始数据中的浓度变量。 idvar:这是一个字符串或向量,表示标识变量的名称或变量列表。...我们用函数 as.data.frame( ) 将数据 Indometh 转换成了数据框,这是因为其默认类型不是数据框。...在对医学数据进行分析之前,通常情况下应先把数据集转换为长格式,因为 R 中的大多数函数都支持这种格式的数据。...tidyr 包中的 gather() 和 spread() 同样可以用于长型、宽型数据类型转换,详见 Cookbook for R。

    88550

    【R语言】根据映射关系来替换数据框中的内容

    前面给大家介绍过☞R中的替换函数gsub,还给大家举了一个临床样本分类的具体例子。今天我们接着来分享一下如何根据已有的映射关系来对数据框中的数据进行替换。...例如将数据框中的转录本ID转换成基因名字。我们直接结合这个具体的例子来进行分享。...假设我们手上有这个一个转录本ID和基因名字之间的对应关系,第一列是转录本ID,第二列是基因名字 然后我们手上还有一个这样的bed文件,里面是对应的5个基因的CDs区域在基因组上的坐标信息。...接下来我们要做的就是将第四列中的注释信息,从转录本ID替换成相应的基因名字。我们给大家分享三种不同的方法。...参考资料: ☞R中的替换函数gsub ☞正则表达式 ☞使用R获取DNA的反向互补序列

    4K10

    基因集合的数据框,列表和对象形式

    这些都离不开生物学功能数据库,但是数据库不仅仅是GO/KEGG哦,目前最齐全的应该是属于 MSigDB(Molecular Signatures Database)数据库中定义了已知的基因集合:http...而且有各种各样的参考文献基因列表,比如转录因子列表,关于转录因子列表我在生信菜鸟团公众号看到了有一个介绍:TCGA数据挖掘常见基因集合,首先是Cancer Manag Res. 2020的文章《Prognostic...,因为数据框不能是不整齐的,所以没办法是宽的,每个基因集合里面的基因个数不一样,大概率都是不整齐的。...(glist)) 这样的列表如果想转换成为前面的数据框也很容易: TERM2GENE = do.call(rbind, lapply(names(genes_to_check), function(...x){ data.frame(gs_name=x,gene_symbol=glist[[x]]) })) 对象(遵循MSigDB的gmt文件标准) 前面的数据框或者列表,要弄成对象就比较麻烦了,需要做一些转换

    1.6K10

    R语言系列第一期(番外篇 ):R的6种对象—向量、矩阵、数组、因子、列表、数据框

    前文我们讲到R处理数据面对的6种对象:向量,矩阵,数组,因子,列表,数据框。 A. 那我们就得好好给大家介绍一下这位能者的6个对象都长什么样子了。...许多R的内置函数计算结果不仅仅是一个向量,因此以列表的形式返回结果。可以理解为二维不规则数据。...· 6.数据框 · 到最后一个对象了,在其他统计软件包中,数据框被称为“数据矩阵”或“数据集”,他是一系列等长度的向量和/或因子,交叉相关,很适合数据收集的类型。...3.数据框的索引 · 之前我们提到数据框提取向量,使用d$age来提取d中的age变量。...只有一个数字的索引在数据框中只会提取列数据,不会提取行数据,所以d[3, ]中的”,”省掉和不省结果是不同的。逗号前代表行,逗号后代表列。

    2.3K30

    从零开始的异世界生信学习 R语言部分 02 数据结构之数据框、矩阵、列表

    数据框 data.frame 数据框 约等于表格:1.数据框不是一个具体文件,只是R语言内部的一个数据;2.数据框每一列只能有一种数据类型 图片 新建和读取数据框 #新建和读取数据框 df1 <- data.frame...df1) #输出行名 colnames(df1) #输出列名 数据框取子集 数据主要操作为按列取子集,取出来的为向量;按行去子集取出的仍为数据框。..."r2","r3","r4") #只修改某一行/列的名 colnames(df1)[2] <- "CHANGE" # | 或符号前后不可以连接字符,只能用于数字,逻辑值 两个数据框的连接 test1 的数据框中,保留test1中保留选中的name列中的所有元素,新的数据框中没有的数据显示NA,sort表示按列排序 merge(test1,test3,by.x...as.data.frame(m) #将转换为数据框 #作图 pheatmap::pheatmap(m) #使用pheatmap包中的pheatmap函数做图,热图会先进行聚类,之后再作图。

    1.8K20

    R编程(二:基本数据类型及其操作之因子、矩阵、数据框和列表)

    数据框dataframe 一个合适表格就和问卷一样,是包含不同类型的数据的。但需要注意的是,数据框的每一列只 包含一种数据类型 ,也就是说每一列如果单独提取出来,都是一个向量。...当通过名称对数据框进行选择的子集不存在时,R会帮我们创建一个新的内容。 排序 order() 会将其中的元素按照大小顺序排列,并按照大小顺序返回元素所在的位置数据。...R 会为每个独立的向量分配一个整数,创建一个value-label 对,value 对应向量中的元素,label 对应分配的数字。...R lists 一个R的列表包括了各种类型的变量,并将他们放置在同一个列表当中,这些变量可以是矩阵、向量、数据集,甚至是其他的列表。...列表的提取也可以按照类似数据框的方式提取。、 需要注意的是,列表用一个中括号提取内容,会返回一个列表,列表中包含提取的内容,只有用两个中括号,才会返回该内容本来的格式。

    2.8K20

    python: 将列表中的字符串 连接成一个 长路径

    今天实习公司分配了一个数据处理的任务。...在将列表中的字符串连接成一个长路径时,我遇到了如下问题: import os path_list = ['first_directory', 'second_directory', 'file.txt...这我就纳闷了: ['first_directory', 'second_directory', 'file.txt']   细思后想明白了,os.path.join 的输入必须是一个或多个 str ,而不能是...字符串列表的本质依然是list。指令把 字符串列表 理解成了一个 str ,就相当于对 单str 进行 os.path.join ,最后当然没变化啦。   ...os.path.join(path_list) head = '' for path in path_list: head = os.path.join(head, path) print head   终于将列表中的字符串连接成了一个完整的长路径

    2.9K20
    领券