首页
学习
活动
专区
圈层
工具
发布

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

前面给大家介绍过☞R中的替换函数gsub,还给大家举了一个临床样本分类的具体例子。今天我们接着来分享一下如何根据已有的映射关系来对数据框中的数据进行替换。...例如将数据框中的转录本ID转换成基因名字。我们直接结合这个具体的例子来进行分享。...=1) #读入CDs区域坐标文件 bed=read.table("5gene_CDs.bed",sep="\t") #从第四列提取转录本信息,这里用了正则表达式, #括号中匹配到的内容会存放在\\1中...=bed #将NM开头的转录本号后面的内容提取出来,然后跟相应的基因名字贴到一起 #直接替换result的第四列注释信息 result1$V4=paste0(symbol,gsub("NM_.*?...head(result1) 可以发现第四列的注释信息中,转录本ID已经全部转换成了基因名字 方法二、使用stringi函数 #如果没有安装过stringi这个包,先运行下一行命令进行安装 #BiocManager

6.2K10

R语言 | 根据数据框的顺序进行筛选

目的 这里有两个数据框,两者有相同的列(ID),这里想把第一个数据框,按照第二个数据框的ID列进行提取,顺序和第二个数据框一致。...数据框1 > tt = data.frame(id = 1:10,y = rnorm(10)) > tt id y 1 1 0.7264999 2 2 -1.3817018...,而不是原来的2,1,5,4,3 正确的方法:用match记录位置,然后根据位置提取 > # 使用match可以达到目的 > loc = match(id$id,tt$id) > loc [1] 2 1...2 -1.3817018 1 1 0.7264999 5 5 0.1997253 4 4 2.0663756 3 3 -0.8626703 结论:match真香 「完整代码:」 # 模拟两个数据框...「我的思路:」 1,用%in%将第一个系谱的ID,根据第二个系谱的ID提取出来,然后用第二个系谱的Sire和Dam把第一个系谱相应的IID的Sire和Dam替换掉。

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

    seaborn可视化数据框中的多个列元素

    seaborn提供了一个快速展示数据库中列元素分布和相互关系的函数,即pairplot函数,该函数会自动选取数据框中值为数字的列元素,通过方阵的形式展现其分布和关系,其中对角线用于展示各个列元素的分布情况...,剩余的空间则展示每两个列元素之间的关系,基本用法如下 >>> df = pd.read_csv("penguins.csv") >>> sns.pairplot(df) >>> plt.show()...函数自动选了数据框中的3列元素进行可视化,对角线上,以直方图的形式展示每列元素的分布,而关于对角线堆成的上,下半角则用于可视化两列之间的关系,默认的可视化形式是散点图,该函数常用的参数有以下几个 ###...#### 3、 x_vars和y_vars 默认情况下,程序会对数据框中所有的数值列进行可视化,通过x_vars和y_vars可以用列名称来指定我们需要可视化的列,用法如下 >>> sns.pairplot...通过pairpplot函数,可以同时展示数据框中的多个数值型列元素的关系,在快速探究一组数据的分布时,非常的好用。

    8.3K31

    【Python】基于某些列删除数据框中的重复值

    subset:用来指定特定的列,根据指定的列对数据框去重。默认值为None,即DataFrame中一行元素全部相同时才去除。...四、按照多列去重 对多列去重和一列去重类似,只是原来根据一列是否重复删重。现在要根据指定的列判断是否存在重复(顺序也要一致才算重复)删重。...原始数据中只有第二行和最后一行存在重复,默认保留第一条,故删除最后一条得到新数据框。 想要根据更多列数去重,可以在subset中添加列。...从上文可以发现,在Python中用drop_duplicates函数可以轻松地对数据框进行去重。 但是对于两列中元素顺序相反的数据框去重,drop_duplicates函数无能为力。...如需处理这种类型的数据去重问题,参见本公众号中的文章【Python】基于多列组合删除数据框中的重复值。 -end-

    30.8K31

    【Python】基于多列组合删除数据框中的重复值

    最近公司在做关联图谱的项目,想挖掘团伙犯罪。在准备关系数据时需要根据两列组合删除数据框中的重复值,两列中元素的顺序可能是相反的。...本文介绍一句语句解决多列组合删除数据框中重复值的问题。 一、举一个小例子 在Python中有一个包含3列的数据框,希望根据列name1和name2组合(在两行中顺序不一样)消除重复项。...由于原始数据是从hive sql中跑出来,表示商户号之间关系的数据,merchant_r和merchant_l中存在组合重复的现象。现希望根据这两列组合消除重复项。...打印原始数据行数: print(df.shape) 得到结果: (130, 3) 由于每两行中有一行是重复的,希望数据处理后得到一个65行3列的去重数据框。...从上图可以看出用set替换frozense会报不可哈希的错误。 三、把代码推广到多列 解决多列组合删除数据框中重复值的问题,只要把代码中取两列的代码变成多列即可。

    23.3K30

    R 茶话会(七:高效的处理数据框的列)

    前言 这个笔记的起因是在学习DataExplorer 包的时候,发现: 这我乍一看,牛批啊。这语法还挺长见识的。 转念思考了一下,其实目的也就是将数据框中的指定列转换为因子。...换句话说,就是如何可以批量的对数据框的指定行或者列进行某种操作。...(这里更多强调的是对原始数据框的直接操作,如果是统计计算直接找summarise 和它的小伙伴们,其他的玩意儿也各有不同,掉头左转: 34....R 数据整理(六:根据分类新增列的种种方法 1.0) 其实按照我的思路,还是惯用的循环了,对数据框的列名判断一下,如果所取的列在数据框中,就修改一下其格式,重新赋值: data(cancer, package...这里就回到开始的问题了,如果是希望对数据框本身进行处理,而非统计学运算呢?

    2.4K20

    R语言第二章数据处理⑤数据框列的转化和计算目录正文

    正文 本篇描述了如何计算R中的数据框并将其添加到数据框中。一般使用dplyr R包中以下R函数: Mutate():计算新变量并将其添加到数据表中。 它保留了现有的变量。...同时还有mutate()和transmutate()的三个变体来一次修改多个列: Mutate_all()/ transmutate_all():将函数应用于数据框中的每个列。...tbl:一个tbl数据框 funs:由funs()生成的函数调用列表,或函数名称的字符向量,或简称为函数。predicate:要应用于列或逻辑向量的谓词函数。...转换特定列 mutate_at():转换按名称选择的特定列: my_data2 %>% mutate_at( c("Sepal.Length", "Petal.Width"),...funs(cm = ./2.54) ) mutate_if():转换由谓词函数选择的特定列。

    5.3K20

    学徒讨论-在数据框里面使用每列的平均值替换NA

    最近学徒群在讨论一个需求,就是用数据框的每一列的平均数替换每一列的NA值。但是问题的提出者自己的代码是错的,如下: ? 他认为替换不干净,应该是循环有问题。...#我好像试着写出来了,上面的这个将每一列的NA替换成每一列的平均值。 #代码如下,请各位老师瞅瞅有没有毛病。...:我是这么想的,也不知道对不对,希望各位老师能指正一下:因为tmp数据框中,NA个数不唯一,我还想获取他们的横坐标的话,输出的结果就为一个list而不是一个数据框了。...a=1:1000 a[sample(a,100)]=NA dim(a)=c(20,50) a # 按照列,替换每一列的NA值为该列的平均值 b=apply(a,2,function(x){ x[is.na...,就数据框的长-宽转换!

    4.7K20

    如何删除数据框中所有性状都缺失的行?

    删除上面数据框中的第二行和第四行! 在数据分析中,有时候需要将缺失数据进行删除。...删除数据很有讲究,比如多性状模型分析时,个体ID1的y1性状缺失,y2性状不缺失,评估y1时,不仅可以通过亲缘关系矩阵和固定因子进行评估,还可以根据y1和y2的遗传相关进行评估,这时候,y1的缺失就不需要删除...一般都是使用tidyverse进行清洗数据,但是drop_na函数没有这个功能,这里总结一下,如果有这种需求,如何处理。...tidyverse的drop_na函数,当面对多个列时,它的选择是“或”,即是只有有有一列有缺失,都删掉。有时候我们想将两列都为缺失的删掉,如果只有一列有缺失,要保留。...,但是hardy反手给另一个回答点赞了…… 4.

    2.9K10

    前端:js根据CheckBox获得选中行的具体某些列内容(批量操作传多条数据)

    说一下业务需求,就是我需要实现批量操作,比如批量删除,我不仅需要该行的id还需要选定行中其他列的值作为参数执行批量删除操作,半吊子前端选手又开启了摸索之路。...下面直接看简化版前端代码展示吧 html页面(获取选中的name为id的复选框所在行数据): {{age}} {{title}} js中的内容...$scope.deleteGroups = function(){ let data = []; //将选中的复选框内容放进data数据 $("input[name='id']:checked...").each(function (i) { //获取该行第二列(eq(2))的数据,注意这里的第二列数据是上面html中的age //如果还要获得其他列数据,就多造几个数组填充对应数据即可

    55710

    在WPS里面A1和B1为合并标题项目,A2与A3为合并编码项,B2与B3为单独项目,分解为4列

    一、CDR排版合并打印的数据需要列我们知道在CDR排版中,如果需要使用合并打印功能,则需要将数据改成列,这样在调用中才不会出错,本次客户发的表格数据如下:我们需要的数据如下:二、表格公式转换如何将客户发的表格数据转换为我们需要的表格数据...减去{5,4,4,3}这个序列表示在增加的行号上减去不同的数值,得到新的行号序列。然后,INDEX(A:B,行号序列,{1,1,2,2})表示在A:B范围内,根据行号序列返回对应的单元格内容。...大括号{1,1,2,2}表示返回的列号序列,第一个数字1表示第一列,第二个数字1表示第二列,以此类推。综上所述,这个公式的目的是在A:B范围内,根据计算出的行号序列和列号序列,返回对应的单元格内容。...具体返回哪一行的内容取决于减去的数值序列和增加的行号倍数。...3、点击【下一步】进入到“添加域”窗口页面,我们可以在选项框中添加文档日期,题目等需要编辑的内容。

    69810

    00.数据结构关于浮点数运算的越界问题1.数据结构2.Pandas的两种常用数据结构3.Series系列4.DataFrame数据框

    指相互之间存在n种特定关系的数据类型的集合。...定义:如何对其定义? 限制:使用期有何限制? 访问:访问其内数据的方式是什么? 修改: 对其增删查改的方法什么?...2.Pandas的两种常用数据结构 类型 注释 Series 系列 DataFrame 数据框 使用前需要将pandas 模块引入 from pandas import Series, DataFrame...import pandas as pd 3.Series系列 类似一维数组(ndarray)的对象,由一组数据(各种NumPy数据类型)以及与之相关的数据标签(索引)组成,用于存储一行或一列数据。...每个Series对象都由两个数组组成: index:从NumPy数组继承的Index对象,保存标签信息。 values:保存值的NumPy数组。

    1.3K10

    UseGalaxy.cn生信云|零代码使用Tiverse优雅地处理数据集

    Dplyr Join two tables join 函数用于根据指定的键将两个数据框连接起来,可以根据共同的变量将数据框进行合并,支持多种连接操作,如内连接、左连接、右连接和外连接等。...Dplyr Select keep or drop columns select 函数用于选择数据框中的特定列,可以保留感兴趣的变量,并且能够根据列名、位置或条件表达式进行灵活的变量选择操作。...Dplyr Slice select rows by position slice 函数用于按行数进行切片,能够从数据框中提取特定的行,支持根据行数或行号选择需要的行,也支持使用负数表示从末尾开始计算的行数...Tidyr Pivot Longer from wide pivot_longer 函数用于将宽格式数据转换为长格式数据,能够根据用户指定的列将数据框中的多个列整理成一对 “名-值” 对,便于进一步的分析和处理...Tidyr Pivot Wider from long pivot_wider 函数用于将长格式数据转换为宽格式数据,能够将数据框中的一列分成多个列,根据指定的列名进行展开,使得数据以更直观的宽格式形式呈现

    1.4K20

    C++ Qt开发:TableWidget表格组件

    ) 在指定列插入新列 removeColumn(int column) 移除指定列 clear() 清空表格的所有内容 clearContents() 清空表格的所有单元格的内容,但保留表头和行列数 itemAt...根据行号的奇偶性设置性别,同时设置对应的图标。 调用 createItemsARow 方法为某一行创建各个单元格的 QTableWidgetItem。...1.2 读数据到文本 如下代码实现了将QTableWidget中的数据读入文本框的功能。 以下是代码的主要解释: 清空文本框: 使用 ui->textEdit->clear() 清空文本框内容。...通过这样的处理,文本框中会显示表格的内容,每一行包含每个单元格的文本内容,最后一列显示党员状态。...// 将表格中的数据读入文本框: 将QTableWidget的所有行的内容提取字符串 void MainWindow::on_pushButton_8_clicked() { QString str

    7K10

    遇到复杂业务查询,怎么办?

    这个业务问题,使用多维度拆解分析方法,可以把这个业务问题分为两部分:第一部份创造下拉列表,第二部份根据选好的条件查询匹配出相应的费用。...同样的道理,如果B列的利率档没有重复值在创作下拉框时可以直接作为数据验证对话框里的来源。 如果有重复值的话,和机构处理的方式一样,在表格空白处写上这一列删除重复值后的利率作为数据验证对话框里的来源。...image.png 2.查询费用 机构、利率档、期限的下拉列表创造好后,接下来要根据这3个条件进行费用的查询匹配。 这时用到Excel里的两个查询函数:index,match。...INDEX函数能根据指定的行号和列号来返回一个值,用法如下: image.png 例如在这个案例中,想要查找A机构,利率档是40%,24期的费用是976元,那么对应的公式是: =INDEX(A2:E17,1,3...但通常表格里的数据很多,有多行多列。如何让INDEX知道A机构,利率档是40%是在第1列,24期的费用是在第3列呢? 这时就要用到INDEX的王炸组合MATCH函数。

    2.4K10

    生信学习-Day6-学习R包

    这个函数执行的是一个内连接(inner join),它会将两个数据框中具有相同键值的行组合在一起。这里的 "键值" 是用于连接两个数据框的列。...这意味着函数将查找 test1 和 test2 中列名为 "x" 的列,并基于这两列中的匹配值来合并行。只有当两个数据框中都存在列 "x" 且某些行在这一列的值相等时,这些行才会出现在最终的结果中。...y = test2:表示要与test2数据框进行semi-join操作,即保留test1中与test2匹配的行。 by = 'x':指定要根据哪个列进行匹配。在这里,使用列x来进行匹配。...结果将是一个新的数据框,其中包含了test1中那些在test2中找到匹配项的行,而不包含在test2中找不到匹配项的行。这种操作通常用于数据集的筛选,以保留与另一个数据集相关的数据。...y = test1:表示要与test1数据框进行anti-join操作,即从test2中删除与test1匹配的行。 by = 'x':指定要根据哪个列进行匹配。在这里,使用列x来进行匹配。

    1.9K10

    Day——5 数据结构

    以下内容出自生信星球学习小组 图片 *数据结构类型 **************** 向量 区分: 标量:一个元素组成的变量 向量:多个元素组成的变量 从向量中提取元素 (1)根据元素位置 x[4]...根据值取 x[x==10] #等于10的元素 x[x<0] #负数 x[x%in%c(1,2,5)] #存在于向量c(1,2,5)中的元素 数据框 (1)read.table()常见参数 header...na.strings 指示缺失值代码的可选字符向量。例如,na.strings = c(“9”,“?”)转换每个9和?读取数据时的值为NA colClasses 分配给列的类的可选向量。...X数据里有doudou.txt 注意这里的变量X是一个数据框 colnames(X) #查看列名 rownames(X) #查看行名,默认值的行名就是行号...,并且支持Tab自动补全哦,不过只能提取一列) (6)直接使用数据框中的变量 plot(iris$Sepal.Length,iris$Sepal.Width) #iris是R语言的内置数据,可以直接使用

    61330

    WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter

    一、如何从 Datagrid 中获得单元格的内容    DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. ...这样的语句去获得单元格的内容。...= null) child = GetVisualChild(v); else break; } return child; }  二、WPF 使用值转换器进行绑定数据的转换...IValueConverter  有的时候,我们想让绑定的数据以其他的格式显示出来,或者转换成其他的类型,我们可以 使用值转换器来实现.比如我数据中保存了一个文件的路径”c:\abc\abc.exe”...//Convert方法用来将数据转换成我们想要的显示的格式 public object Convert(object value, Type targetType, object parameter

    7.5K70
    领券