Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Tidyverse|数据列的分分合合,一分多,多合一

Tidyverse|数据列的分分合合,一分多,多合一

作者头像
生信补给站
发布于 2020-08-04 15:17:12
发布于 2020-08-04 15:17:12
3.8K00
代码可运行
举报
文章被收录于专栏:生信补给站生信补给站
运行总次数:0
代码可运行

TCGA数据挖掘可做很多分析,前期数据“清洗”费时费力但很需要。

比如基因列为ID的需要转为常见的symbol,基因列为symbol|ID的就需要拆开了!

excel分列可以解决,但是表达量数据较大,且excel容易产生“数据变形”。

一 载入数据 R包

使用TCGA下载的数据,仅使用以下几行几列, 作为示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(tidyverse)
data <- read.csv("separate.csv",header = TRUE, check.name = FALSE)
head(data)

第一列的ID,和人为添加的ID2,名称不规则,我们只需要前面的基因名。

二 合久可分-一列拆多列

使用separate函数, 将“指定”分隔符出现的位置一列分成多列

2.1 默认,不指定分隔符
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data %>% 
separate(ID, into = c("Gene", "IDnum")) %>% head()
2.2 指定分隔符且保留原始列
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data %>%
separate(ID2, into = c("Gene2", "IDnum2"),sep = "/",remove = FALSE) %>%
head()
2.3 特殊字符的指定方式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data %>%
separate(ID, into = c("Gene1", "IDnum1"),sep = "l",remove = FALSE) %>%
head()

按照同样的方式,想把"|"分隔的ID拆分,发现报错。?黑人问号脸

发现问题先?separate或者help(separate)查询帮助函数,发现"|"为特殊字符,可以使用"[|]"括起来或者"\\|"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data %>% 
    separate(ID, into = c("Gene1", "IDnum1"),sep = "[|]",remove = FALSE) %>% head()
#或者
data2 <- data %>%
    separate(ID, into = c("Gene1", "IDnum1"),sep = "\\|",remove = FALSE)
2.4,按照第几个字符拆

根据第几个字符拆分,适合数据规整的,,,

可以用来将TCGA中的sampleID转为常见的16位,需要先转置

代码语言:javascript
代码运行次数:0
运行
复制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data2 %>% select(Gene1,contains("TCGA")) %>% #选择指定列
  column_to_rownames(var = "Gene1") %>%  # 将Gene1列转为rownames
  t() %>% as.data.frame() %>% #数据转置,样本为行名
  rownames_to_column(var="Sample") %>%  #行名变为数据中的列
  separate(Sample, into = c("Sample", "bar"),sep = 16) %>%  #按照规则取前16个字符
  select(-bar) #去掉分割后不需要的bar列
可参考:盘一盘Tidyverse| 筛行选列之select,玩转列操作
Tips:
  • 1)数据分列可以先默认试一下,如2.1所示
  • 2)使用R的帮助,一定!

三 分久必合-多列合一列

使用unite函数, 可将多列按照“指定”分隔符合并为一列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data %>%
unite(ID_new, ID:ID2, sep = "_") %>% head()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信补给站 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
驴的单细胞数据基因ID如何转换?
学习过我们《转录组测序分析专题》课程的人,肯定一眼就看出来了这个ID来自数据库:Ensembl数据库。
生信技能树
2024/12/27
840
驴的单细胞数据基因ID如何转换?
拷贝数变异(CNV)分析全家桶
本文比较长,长到需要个目录 1.定义 2.TCGA拷贝数变异数据处理流程 2.1 数据下载 2.2 数据整理 3.GISTIC2.0 4.maftools可视化 找出感兴趣的区域里面的基因 5.基因层面的分析 5.1 文件和数值大小意义 5.2 差异CNV基因鉴定 5.3 棒棒糖图 6.与基因表达量联合分析 6.1 与表达量画箱线图 6.2 与表达量的相关性 7.生存分析
用户11414625
2024/12/20
1.2K1
拷贝数变异(CNV)分析全家桶
RNAseq|免疫浸润也杀疯了,cibersoert?xCELL?ESTIMATE?你常用哪一个
肿瘤免疫浸润分析是一个文献中的网红分析内容,分析软件有很多,本次先介绍一下cibersort ,xCELL 和 ESTIMATE ,这几款软件在文章中的出镜率都很高 。
生信补给站
2023/03/08
5.4K0
RNAseq|免疫浸润也杀疯了,cibersoert?xCELL?ESTIMATE?你常用哪一个
34. R 数据整理(六:根据分类新增列的种种方法 1.0)
通过 gather ,并设定key(原先的列),与value(原先的数据),并通过 - (原先的行),对数据框进行转换。
北野茶缸子
2021/12/17
2.1K0
34. R 数据整理(六:根据分类新增列的种种方法 1.0)
TCGA|根据somatic mutation绘制突变景观图(oncoplot)和基因词云
使用 XENA下载的TCGA-LAML.mutect2_snv.tsv文件绘制基因词云和突变景观图。
生信补给站
2020/10/29
3K0
TCGA|根据somatic mutation绘制突变景观图(oncoplot)和基因词云
使用iqtree软件利用基因存在缺失变异矩阵(0/1)矩阵构建进化树
线性泛基因组相关论文通常会获得基因存在缺失变异矩阵,接下来会使用这个矩阵构建进化树,今天的推文介绍一下使用iqtree软件利用基因存在缺失变异矩阵(0/1)矩阵构建进化树的代码
用户7010445
2024/02/03
3800
使用iqtree软件利用基因存在缺失变异矩阵(0/1)矩阵构建进化树
数据处理基础—什么是整齐数据和Rich Data
整齐的数据是Hadley Wickham (Wickham 2014)主要定义的概念。整齐的数据具有以下三个特征:
生信技能树jimmy
2020/03/31
1.5K0
数据处理基础—什么是整齐数据和Rich Data
数据清洗与管理之dplyr、tidyr
先前已经讲过R语言生成测试数据、数据预处理和外部数据输入等内容,但这仅仅是第一步,我们还需要对数据集进行筛选、缺失值处理等操作,以便获得可以应用于建模或者可视化的数据集(变量)。接下来就以鸢尾花测试数据集进行进一步的数据管理和筛选操作。
1480
2019/06/20
1.9K0
数据清洗与管理之dplyr、tidyr
GEO数据库的多个表达量数据集的整合分析方法(表达量芯片和转录组测序)
在进行数据挖掘的时候,我们往往会筛选到不止一个符合我们预期的数据集,这些数据集来源于不同的研究人员。这样得到的这些数据集就会存在我们所谓的批次效应,如不同实验时间、不同实验批次、不同处理方法、不同测序平台等。遇到这一情况,我们该如何选择数据和处理数据呢?如果我们只选择一个数据集进行分析,貌似有点不太能说明其他研究人员的研究结果,但如果把所有符合我们实验目标的数据集都能拿来分析又有点无从下手。这里,我们就来介绍一下面对多个GEO数据集,我们该怎么处理?
生信菜鸟团
2024/04/25
3.4K0
GEO数据库的多个表达量数据集的整合分析方法(表达量芯片和转录组测序)
数据处理 | R-tidyr包
介绍tidyr包中五个基本函数的简单用法:长转宽,宽转长,合并,分割,NA简单填充。
生信补给站
2020/08/06
9780
35. R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)
假设数据以 tibble 格式保存。数据集如果用于统计与绘图,需要满足一定的格式要求,(Wickham, 2014) 称之为 整洁数据 (tidy data),基本要求是每行一个观测,每列一个变量,每个单元格恰好有一个数据值。这些变量应该是真正的属性,而不是同一属性在不同年、月等时间的值分别放到单独的列。
北野茶缸子
2021/12/17
11.1K0
35. R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)
Python从零开始第三章数据处理与分析python中的dplyr(4)目录
可以使用separate(column,into,sep =“[\ W _] +”,remove = True,convert = False,extra ='drop',fill ='right')函数将列拆分为多个列。 separate()有各种各样的参数:
用户1359560
2019/01/03
1.1K0
TCGA | 以项目方式管理代码数据 以及 数据读取存储
以项目的方式管理R代码和文件,可以很大程度规避 1)工作路径不对,2)找不到文件 ,3)代码和文件不对应 ,等常见的问题。
生信补给站
2020/10/29
2.8K0
TCGA | 以项目方式管理代码数据  以及 数据读取存储
Tidyverse|tidyr数据重塑之gather,spread(长数据宽数据转化)
长型数据和宽型数据在数据分析中非常常见 ,其中宽型数据更具可读性,长型数据则更适合做分析。
生信补给站
2020/08/05
6.8K0
Tidyverse|tidyr数据重塑之gather,spread(长数据宽数据转化)
学徒带你一步步从CCLE数据库里面根据指定基因在指定细胞系里面提取表达矩阵进行热图可视化
昨天生信技能树发布了学徒作业:学徒作业-在CCLE数据库里面根据指定基因在指定细胞系里面提取表达矩阵 很有意思,任务简单的说就是重复这个图
生信菜鸟团
2020/03/30
4.8K0
使用Tidyr重塑数据
虽然R中存在许多基本的数据处理函数,但它们至今仍有一点混乱,并且缺乏一致的编码和容易地将流一起的能力。这导致很难记忆和操作。因此我们需要更有效的代码、更容易记住语法和易于阅读的语法。而tidyr正是一个这样的包,它的唯一目的是简化创建[tidy data]的过程。本教程使您基本了解tidyr提供的数据整理的四个基本功能:
用户1359560
2019/10/24
8960
适合用于FPKM数据求差异基因的ballgown算法
对于FPKM表达数据时,Edger,limma,和deseq等算法并不合适。而ballgown是针对于FPKM数据开发的差异基因算法,可以尝试。 示例数据如下所示:
用户1359560
2021/12/06
1.3K0
适合用于FPKM数据求差异基因的ballgown算法
R3数据结构和文件读取
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
用户10556374
2023/05/15
2.9K0
两个神奇的R包介绍,外加实用小抄
认识Tidy Data1.Reshape Data2.Handle Missing Values3.Expand Tables4.split cells一、测试数据1.新建数据框2.用tidyr进行处理3.按照geneid排序4.空值操作用表二、Dplyr能实现的小动作1.arrange 排序2.fliter3.distinct4.select5.mutate6.summarise7.bind_rows8.交集、并集、全集9.关联
生信技能树
2018/08/16
2.6K0
两个神奇的R包介绍,外加实用小抄
怎么分析和展示RNAseq基因表达数据中基因的相关性
TCGA是癌症基因组分析中相当流行的数据库,针对里面数据的挖掘结果、软件工具发表了许多CNS文章,不过现在已经被整合进GDC数据平台了。虽然现在测序技术发展的很快,单个样本测序成本比较之前而言低了很多,但是对于单个课题组研究而言,对大量样本的测序成本还是有些难以承受。TCGA的数据集提供了一个很好的平台,我们既可以分析它衍生新的课题,也可以通过它为自己分析的结果佐证。今天的分析用的就是TCGA肺腺癌的数据集(TCGA-LUAD),可以点击这里进入UCSC的数据集资源库下载。
王诗翔呀
2020/07/03
2.8K0
推荐阅读
相关推荐
驴的单细胞数据基因ID如何转换?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档