R
文章平均质量分 89
R 语言数据处理
名本无名
生物信息工程师,日常工作: Python 和 R 数据处理、分析及可视化等。还有其他。。。
展开
-
网络爬虫 —— 配置文件解析
ini格式的变种非常多,默认的解析器只具备一些常用的功能,我们可以在创建解析器是指定一些行为。例如参数可用于指明是否接受不带值的属性delimiters用于指定分隔键和值的子字符串注释的前缀用于指定插值方式,可以使用类指定更高级的语法,或使用None来禁用插值语法扩展插值插值可以跨越多个层级,使用方式形如,如果省略,则表示作用于当前小节。例如,对如下配置文件进行解析[default][Paths][Others]# '$80'原创 2024-06-20 09:59:34 · 1048 阅读 · 0 评论 -
网络爬虫 —— xml2 和 lxml
从这些函数名称可以看出,操作结点看起来像是在操作一个列表,即将所有的子结点归结为一个列表,可以不断为其添加新的结点,并给每个节点添加了顺序索引,方便访问。例如,结点的添加和删除。函数来创建对应的结点对象,该对象相当于一个容器,能够不断为其添加不同的子结点,子结点也可以是另一个结点。对于单个结点来说,它就是一个根结点,不存在其父结点或子结点,我们可以使用不同的函数为其添加各种关系,如添加或删除子结点、兄弟结点等。来访问标签的属性,其返回的是结点自身的属性,在修改其值时,也会影响结点对应的属性值。原创 2024-06-19 11:19:35 · 1419 阅读 · 0 评论 -
R 语言入门 —— tidyverse
是 语言中专为数据科学而设计的集成包,其内所有的包具有相同的设计理念、语法以及数据结构。大名鼎鼎的画图包 便是其中之一,其管道操作让代码看起来更加简洁。既然提到了管道操作,那就让我们先来介绍一下什么是管道操作,在这之前先把包给装了我们只需一键安装 ,就可以使用其下的所有包导入 包默认会将上面打钩的包一并导入,其他包则需要手动导入, 下面的函数表示存在冲突,需要使用包名加函数名的方式访问管道操作,顾名思义就是让数据看起来像流水一样从管道一头流向另一头,或者说链式调用,数据没通过一层函数就进行了一次加原创 2024-06-18 09:31:32 · 3736 阅读 · 0 评论 -
网络爬虫 —— XPath 与 CSSSelect
超文本标记语言(HTML)和可扩展标记语言(XML)是两种结构相似的标记语言,其中HTML主要用于展示数据,专注于数据的外观,且标签固定;而XML主要被设计用于传输和携带数据信息,专注于数据的内容,没有预定义的标签,需要自行定义。这两种标记语言所定义的内容结构是大致相同的,都是以一种树结构的形式存储。例如,对于XML文件,我们可以简单具有自我描述性的语法来定义数据原创 2024-06-17 11:31:29 · 1126 阅读 · 0 评论 -
R 语言入门 —— 字符串
虽然R的字符串并不是它的强项,看起来也不是那么的优雅,但是R中数据处理和清洗过程中字符串处理还是占有较大比重的。R提供了多种基础和高级功能来处理字符串,这些功能主要集中在几个包中,如基础的R函数、stringr包等。原创 2024-06-17 11:07:58 · 420 阅读 · 0 评论 -
R 语言入门 —— 面向对象
我们可以在定义类时添加方法# [1] 19tom$age# [1] 20注意,我们使用了原创 2024-06-15 09:53:12 · 1036 阅读 · 0 评论 -
R 语言入门 —— 基本数据结构
变量值的是存储在内存中的,解释器会根据变量的数据类型来分配内存空间,不同类型的数据具有不同的存储方式。R中的基本数据类型包括6种,可以使用typeof查看变量数据元素的类型,class可以查看变量的数据结构类型,所有类型都有对应的类型判断函数(is.xxx)和类型转换函数(as.xxxL。原创 2024-06-15 09:43:19 · 567 阅读 · 0 评论 -
R 语言入门 —— 基础语法
R是一种用于统计分析、图形展示和报告的编程语言。由Ross Ihaka和在1990年代早期在新西兰奥克兰大学开发,设计之初就作为统计数据分析和图形表示的工具。R语言的灵感来自于S语言,后者是在贝尔实验室开发的一种先进的统计编程语言。R继承了S语言的多种特性,并且以其开源的特点,在全球范围内迅速获得了广泛的应用和发展。函数是具有特定功能的代码块,我们通过将完成某一功能,或需要重复执行的代码封装起来,并为这些代码取一个函数名,函数包含函数名、输入参数、函数体以及返回值。R中的函数可以显式的使用return。原创 2024-06-14 21:45:42 · 1231 阅读 · 0 评论 -
TCGA 数据分析实战 —— GSVA、ssGSEA 和单基因富集分析
前面,我们介绍过了差异基因的功能富集分析,今天,我们对这部分的内容作一些补充主要介绍一下GEVAssGSEA和单基因的富集分析。原创 2024-05-31 09:30:00 · 7035 阅读 · 0 评论 -
TCGA 数据分析实战 —— TMB 与免疫浸润联合分析
近年来,随着免疫检查点抑制剂的兴起,大大改变了传统的肿瘤治疗策略,尽管PD-L1和dMMR的检测都获得了FDA的批准,提高了免疫药物的响应和获益,但它们都有自身的不足。各种检测方法判定的PD-L1水平不一致率较高,dMMR在各种不同的癌种中的携带比例差异较大而免疫治疗的效果主要是免疫细胞对癌细胞特异性抗原的识别,那么从理论上来说,那些携带基因突变越多的癌症患者,癌细胞产生的新抗原越多,被免疫细胞识别的可能性更高。也就是说,肿瘤组织的突变负荷(TMB)越高,患者或许能从免疫治疗中获得更多的收益。TMB。原创 2024-05-31 09:30:00 · 1747 阅读 · 0 评论 -
TCGA 数据分析实战 —— 差异甲基化区域模体分析
DNA甲基化在许多细胞进程中扮演重要的角色,例如胚胎发育、基因印迹、X染色体失活和维持染色体稳定性。在哺乳动物中,DNA甲基化很少见,其产生位置分布在整个基因组中的确定的CpG序列中,但是却很少在CpG岛上发生甲基化。CpG岛(CGI)是富含GC碱基的短间隔DNA序列。这些CpG岛通常位于转录起始位置,它们的甲基化会导致基因沉默。DNA甲基化会抑制转录,因此,对DNA甲基化的研究对于理解癌症中调控基因网络至关重要。所以,差异甲基化区域(DMR)的检测有助于我们研究调控基因网路。原创 2024-05-30 09:13:19 · 1364 阅读 · 0 评论 -
TCGA 数据分析实战 —— 差异基因
数据进行差异表达分析的包,它的线性模型和差异表达函数可以应用于任何基因表达定量技术,也包括定量。包集成了很多功能,包括数据的读取、预处理(如背景矫正、组内或组件标准化等)和差异表达分析。不仅可以应用在基因水平,也可以在外显子、转录本水平进行差异分析,我们以基因水平为例。数据进行差异表达分析,也可以对其他芯片类型的数据进行分析,如。该算法的核心是使用负二项广义线性模型来检验基因表达的差异。等数据进行差异表达分析,任何从基因组特征上产生的。的几个函数来过滤低表达的基因,然后进行。来进行差异表达分析。原创 2024-05-29 10:37:09 · 3040 阅读 · 0 评论 -
TCGA 数据分析实战 —— 突变及拷贝数分析
在介绍完的查询下载和数据分析功能之后,我们简单展示几个示例,来练练手,加深对这个包的理解和使用我们主要从基因组、转录组和表观组3个维度分别举例来进行说明。原创 2024-05-29 10:10:48 · 3495 阅读 · 0 评论 -
免疫浸润分析
肿瘤组织不是单纯的只包含肿瘤细胞,它是由各种不同类型的细胞组成的,其中就包含基质细胞,成纤维细胞,还有免疫细胞等,这些细胞就构成了肿瘤的微环境。我们比较关注的是免疫细胞在这微环境中的作用。免疫细胞又包括很多种,如B细胞,T细胞等。不同的免疫细胞在肿瘤发生过程中发挥不同的作用,而不同肿瘤的免疫细胞组成也各有特点。因此在研究肿瘤发生,治疗等机制时,常常会对不同肿瘤类型的免疫细胞进行定量研究。所谓的定量研究就是研究不同免疫细胞的比例。为了准确的评估肿瘤微环境中免疫细胞的构成,我们可以通过很多方法从RNA。原创 2024-05-22 09:33:13 · 1760 阅读 · 0 评论 -
R 数据处理 —— readr
前面讲过了R自带的读取矩阵型数据的方法,如read.csvread.table等。下面我要介绍的是tidyverse中的readr包提供的读取矩阵型数据的方式readr的目标是提供一种快速友好的方式来读取矩阵型数据,如csvtsv和fwf等。原创 2023-11-16 18:58:20 · 965 阅读 · 0 评论 -
R 数据处理 —— lubridate
本节我们将介绍R中的时间和日期的处理。乍一看,你可能觉得这很简单。每年都是365天?每天都有24小时?每分钟是60秒?当然,你肯定知道一年不一定都是365天,但是你知道哪一年是闰年吗?世界上很多地方都使用夏令时,所以有些日子是23小时,有些日子是25小时。你可能不知道有些分钟有61秒,因为地球自转正逐渐减慢,时不时地增加闰秒。有时候,时间和日期是很困难的。因为需要协调地球的自转和公转与地区的月份、时区、夏令时之间的关系。下面我们将详细介绍如何处理这些数据。原创 2023-11-16 20:31:18 · 411 阅读 · 0 评论 -
R 数据处理 —— tibble
在前面的介绍中,我们使用到了tibbles这种数据结构。这是tidyverse包定义的类似于R传统的data.frame。R语言产生到现在也挺久了,一些10年或20年前很有用的东西现在不一定同样有用。在不破坏现有代码的情况下想要改变R的基础数据结构是很困难的,所以大多数的创新都是在开发新包中。在这里,我们将介绍tibble。首先,导入tidyverse# or。原创 2023-11-16 20:22:54 · 765 阅读 · 0 评论 -
R 数据处理 —— tidyverse
接下来的部分,我们主要介绍R的一个用于数据科学的集成包tidyverse,并用它所包含的各种R包来进行数据处理。tidyverse中所有的包具有同样的设计理念、语法以及数据结构主要包含如下R包:包名描述ggplot2鼎鼎大名的画图包,不用过多介绍dplyr提供了一组便利的数据操作语法tidyr数据的整洁之道readr提供便利的方式读取矩阵数据(如 csv, tsv 和 fwf 等)purrr增强 R 的函数编程,避免 for 循环tibble。原创 2023-11-16 18:56:30 · 518 阅读 · 0 评论 -
R 数据处理 —— 常见文件处理
下面,我们就讲讲如何用R来读取读取常见数据格式文件的方式。原创 2023-11-16 18:52:50 · 243 阅读 · 0 评论 -
R 数据处理 —— readxl
工作表的格式。在R中有许多用于读取Excel文件的包,如gdataxlsx。而我们要介绍的是tidyverse中的又一个包readxl与它们相比,readxl没有任何外部依赖性,因此很容易在所有操作系统上安装和使用。它的设计是为了处理表格数据readxl支持旧版的.xls格式和现代的基于xml的.xlsx格式在它的底层使用libxlsC库来支持.xls格式,使用RapidXMLC++库来解析.xlsx。原创 2023-11-16 20:34:12 · 2793 阅读 · 0 评论 -
R 数据处理 —— purrr
本节我们将开始介绍R中的迭代。主要介绍两种重要的迭代:命令式编程:有像for和while循环一样的工具,使迭代非常的明确以及比较容易理解。但是for循环一般代码较长,重复的代码较多函数式编程():函数式编程提供了提取重复代码的工具,每个循环模式都是自己的函数。可以在速查表中看到更多的函数及使用方法,以及函数功能的图形示例。原创 2023-11-16 20:32:47 · 552 阅读 · 0 评论 -
R 数据处理 —— forcat
在R中,因子用于处理类别变量,即具有固定且已知所有可能值的变量。当您希望以非字母顺序显示字符向量时,它们也很有用以经验上来看,因子通常比字符串更容易处理,因此,R中提供的许多基础函数都会自动将字符串转换为因子。但是这些转换通常是没有意思的,所以,在tidyverse中并不会出现这种问题。原创 2023-11-16 20:30:18 · 119 阅读 · 0 评论 -
R 数据处理 —— dplyr
通常,我们读取的数据不可能完全满足我们后续的分析需求,因此需要对读取进来的数据进行处理。比如,创建一些新的变量或总结,或者只是想重命名变量或重新排列观察结果,以便使数据更易于使用。在本节及后续几节,我们将介绍如何使用tidyverse中的dplyr包来对数据进行操作。我们使用的数据是2013年从纽约出发的航班信息。在这里我们的重点是介绍dplyr包的使用,并使用的包中的数据来说明dplyr的核心思想,同时会加入一些ggplot2展示数据的示例,帮助我们理解。注ggplot2。原创 2023-11-16 20:25:21 · 407 阅读 · 0 评论 -
R 数据处理 —— dplyr 关系型数据
到目前为止,两个表始终由单个变量相连,并且该变量在两个表中具有相同的名称,可以通过by='key'参数为by指定需要连接的列'key'默认情况下by=NULL,使用出现在两个表中所有相同的变量,即所谓的自然联接。例如flights和weather两个表具有相同的变量yearmonthdayhour和origin+ head(3)设置by='x',和自然连接类似,但只使用指定的一些公共变量。例如,flights和planes有year变量,但它们的含义不同,因此我们只想通过tailnum连接。原创 2023-11-16 20:27:13 · 367 阅读 · 0 评论 -
R 数据处理 —— glue
今天我们要介绍的是tidyverseglue提供了轻巧、快速和无依赖的可解释字符串,glue通过将R表达式嵌入到花括号中,然后对其求值并将其插入字符串中。原创 2023-11-16 20:34:59 · 156 阅读 · 0 评论 -
R 数据处理 —— stringr
之前我们介绍R数据处理的时候,对字符串的操作都是用自带的函数。虽然R的字符串并不是它的强项,看起来也不是那么的优雅,但是字符串在数据处理和清洗过程中还是扮演者较为重要的角色。所以,今天我就讲下R字符串处理的第三方包 ——stringr包提供了一组内聚函数,尽可能使字符串的操作简单化。stringr1.字符操作:这些函数允许操作字符串向量中每个字符串的字符2.提供添加、删除和操作空白字符的工具3.提供对语境敏感的操作4.模式匹配函数。总共包含 4 中模式,其中最常用的就是正则表达式。原创 2023-11-16 18:54:45 · 162 阅读 · 0 评论 -
R 数据处理 —— apply 家族函数
在上一节中,我们主要介绍了purrr包提供的工具函数来减少for循环的使用,使代码更加的简洁,便于阅读。但是,使用R原生的apply函数家族也能够极大减少for循环的使用。下面我们主要介绍apply函数的使用。apply针对不同的数据类型,会有不同的变形,共同组成了apply函数家族。包括applylapplysapplyvapplytapplymapplyrapplyeapply。原创 2023-11-16 20:33:26 · 452 阅读 · 0 评论 -
R 数据处理 —— tidyr
在本节中,我们将介绍数据的整洁之道,以及tidyverse的核心包之一tidyr。它提供了一系列工具来帮助整理混乱的数据,也是我们本节的重点。原创 2023-11-16 20:28:17 · 676 阅读 · 0 评论 -
R 正则表达式
R中的正则表达式模式有三种1、扩展正则表达式:默认方式2、Perl风格正则表达式:设置参数3、字面意义正则表达式:设置参数,使用的字面意义上的正则表达式。原创 2023-10-27 11:00:42 · 1186 阅读 · 0 评论 -
R 面向对象编程(四)—— R6
R6是R的封装式面向对象编程的实现,比内置的RC类更简单,更快,更轻量级。与内置的R3R4和RC不同,R6是一个单独的R包,因此不需要依赖methods包。R6属性和方法的公有化和私有化主动绑定跨包之间的继承为什么这个包叫R6呢?哈哈,当然是为了保持队形了啊,虽然RC的官方名称并不是S5,但不妨碍大家这么称呼。学过其他语言的面向对象编程系统的应该知道,我们前面几节讲的R中几种系统设计的并不够好,所以,需要R6这样的包。原创 2023-10-25 10:30:15 · 220 阅读 · 0 评论 -
R 面向对象编程(三)—— RC
是在R 2.12版本开始引入的新一代的面向对象系统,也被称为R5(这并不是官方的名称,只是为了和S3S4保持队形( ̄。。 ̄)这个面向对象系统不同于S3和S4使用泛型函数模型实现类和方法,RC的方法被封装在类的定义中。RC面向对象系统在行为、风格上更像其他面向对象编程语言,如Java和C++等。RC使用符号来调用方法,获取和修改对象的属性,调用方法或设置属性的值会修改对象,这种方式不同于常用的函数式编程模型。在RC对象系统中,我们可以在创建类的同时指定对应的方法,而不需要将类和函数的定义分离。原创 2023-10-25 10:29:06 · 134 阅读 · 0 评论 -
R 面向对象编程(二)
S4是标准的R语言面向对象实现方式,比S3的定义更加严格,S4对象有专门的函数用于定义类(setClass)、泛型函数(setGeneric)、方法(setMethod)以及实例化对象(new),提供了参数检查,多重继承功能。S4有一个重要的组件slot,它是对象的属性组件,可以使用专门的运算符(发音为at)来访问。社区是以S4对象作为基础框架,只接受S4定义的R包。所以,学习S4是非常有必要的。原创 2023-10-25 10:26:58 · 448 阅读 · 0 评论 -
R 面向对象编程(一)
面向对象编程(OOP)是一种编程范式,它将对象作为程序的基本单元,一个对象包含了数据以及操作数据的函数。那什么是对象?对象是类(class)类的实例。那什么又是类呢?类是对现实事物的抽象,比如说,人类是对世界上所有人的总称,而你、我却是实实在在存在于现实中的,也就是一个个对象。类的定义包含了对数据的描述以及对应的操作方法,比如,人应该有性别、年龄、身高、体重等固有特征,但是每个对象,也就是说虽然每个人的特征千差万别,但都有这些固定的属性客观存在的。原创 2023-10-25 10:25:33 · 239 阅读 · 0 评论