数组是对向量和矩阵的扩展,适用于处理更复杂的数据。 (四)因子 因子是一种专门用于表示分类或有序类别数据的R数据类型。因子将分类数据编码为整数,并保存这些整数与原始类别标签之间的映射关系。...可以使用 factor() 函数创建因子,并且可以自定义类别的顺序和标签。...数据框可以通过 data.frame() 函数创建,各列的长度必须相同。数据框类似于电子表格,是进行统计分析和数据可视化的基础工具,能够灵活处理包含不同类型变量的数据集。...例如,使用 summary(data) 可以查看向量data的相关统计指标。 7.因子函数: factor() 函数用于将字符向量转换为有序或无序因子,便于进行分类分析。...可以通过索引访问矩阵元素,如A[2, 3];创建单位矩阵可以使用diag(n);特定元素的矩阵填充示例已经给出。 9.矩阵转置函数: t()函数 可以对矩阵进行转置,如t(A)将矩阵A转置。
下面介绍 R 中用于存储数据的多种数据结构。 R 的数据结构 在大多数情况下,结构化的数据是一个由很多行和很多列组成的数据集。在 R 中,这种数据集被称为数据框。...在学习数据框之前,我们先来认识一些用于存储数据的数据结构:向量、因子、矩阵、数组和列表。 1.1 向量 向量(vector)是用于存储数值型、字符型、逻辑型数据的一维数组。...因子在 R 中非常重要,它决定了数据的展示和分析方式。数据存储时因子经常以整数向量形式存储。所以在进行数据分析之前,经常需要将它们用函数 factor( ) 转换为因子。...与矩阵不同的是,数据框里不同的列可以是不同模式(数值型、字符型等)的数据。数据框可以通过函数 data.frame( ) 创建。...在进行数据分析时,分析者需要对数据的类型熟稔于心,因为数据分析方法的选择与数据的类型是有密切联系的。R 提供了一系列用于判断某个对象的数据类型的函数,还提供了将某种数据类型转换为另一种数据类型的函数。
) 5、complete.cases( ) 判断对象中是否数据完全 6、grep()找出所数据框中元素所在的列值(仅数据框中) 7、assign()通过变量名的字符串来赋值 8、 split()根据因子变量拆分数据框...) 13、ls( )用来列出现存的所有对象 常见函数列表 14、数据管理相关 15、字符串处理函数 16、因子 17、数学计算 18、数组相关 19、逻辑运算 20、控制结构相关 21、自定义函数相关...4 5 6 7 8 9 10 8、 split()根据因子变量拆分数据框/向量 split(x,f);x 可以为向量或者数据框,f 为对应的因子,函数以列表的形式返回 > x = data.frame...:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数 17、数学计算 +, -, *,...18、数组相关 array:建立数组 matrix:生成矩阵 data.matrix:把数据框转换为数值型矩阵 lower.tri:矩阵的下三角部分 mat.or.vec:生成矩阵或向量 t:矩阵转置
因子具有因子水平(Levels),用于限制因子的元素的取值范围,R强制:因子水平是字符类型,因子的元素只能从因子水平中取值,这意味着,因子的每个元素要么是因子水平中的字符(或转换为其他数据类型),要么是缺失值...通常情况下,在创建数据框变量时,R隐式把数据类型为字符的列创建为因子,这是因为R会把文本类型默认为类别数据,并自动转换为因子。前面我们在讲数据框时,就有提到。...在数据清理时,可能需要去掉与因子水平对应的数据,通常情况下,需要删除未使用的因子水平,可以使用droplevels函数,它接受因子或是数据框作为参数。...如果x是数据框,那么把数据框中未使用的因子删除。...,c(150,170,190)) [1] (150,170] (170,190] (150,170] Levels: (150,170] (170,190] 8 修改数据框中的因子 一般情况下,数据框中的字符类型的列会转换为因子类型
tibble 是一种简单数据框,它对传统数据框的功能进行了一些修改,其所提供的简单数据框更易于在 tidyverse 中使用。 多数情况下,我们会交替使用 tibble 和数据框这两个术语。...tidyverse 中许多函数都可以创建 tibble,因为 tibble 是 tidyverse 的标准功能之一。 可以通过 tibble() 函数使用一个向量来创建新 tibble。...data.frame() 函数功能要少得多:它不能改变输入的类型(例如,不能将字符串转换为因子)、变量的名称,也不能创建行名称。...创建 tibble 的另一种方法是使用 tribble() 函数,tribble 是 transposed tibble(转置 tibble) 的缩写。...最后总结 tibble 相对于数据框来说,更简单,但更方便使用,两者的主要区别是: tibble 不能创建行名。 tibble 不能改变输入的类型(例如,不能将字符串转换为因子)、变量的名称。
、数据框,以及任何可以转换为矩阵的数据。...("column", seq_len(ncol(small_mat))) library(ggalign) ggheatmap(small_mat) 热图 对于 ggplot2,矩阵在绘制时会被转换为长格式的数据框...目前,有四个 align_* 函数可用于图表布局控制: align_group:根据分类因子对图表进行分组和对齐。...如果 data 参数为 NULL,函数将使用布局的默认数据,如前例所示。data 参数还可以接受一个函数(支持 lambda 语法),该函数将应用于布局数据。...heatmap_layout()/ggheatmap():对于列注释,layout 数据将在使用转置t(如果数据是 function,它将应用于转置后的矩阵)。
的进一步学习:zz.scale.R4.2 解析4.2.1 dat = as.data.frame(t(exp))将表达矩阵 exp 转置后转换为数据框。...5.2.3 deg = mutate(deg,probe_id = rownames(deg))使用 dplyr 包中的 mutate 函数为数据框 deg 添加一列 probe_id,该列的值为数据框...5.2.5 差异基因热图过滤和重命名表达矩阵 exp = exp[deg$probe_id,]:将 exp 矩阵的行过滤为 deg 数据框中 probe_id 列对应的行。...这一步确保表达矩阵 exp 只包含差异表达基因分析结果中的探针。 rownames(exp) = deg$symbol:将表达矩阵 exp 的行名设置为 deg 数据框中的 symbol 列。...准备注释数据框annotation_col = data.frame(group = Group):创建一个包含分组信息的注释数据框。
clusterProfiler 提供多种富集函数,允许将您的基因列表与已知(例如 GO、KEGG)或自定义基因集进行比较。 在这个例子中,我们使用我们发现与 Myc 峰重叠的所有 TSS 站点。...从这个对象中,我们可以提取最丰富的基因本体类别的数据框。...这里我们将使用“H”来访问 Hallmark 基因集,最后我们需要得到一个数据框,其中第一列包含基因集的名称,第二列包含基因 ID。...我们可以简单地使用 as.integer 函数将逻辑向量转换为 1 表示 TRUE 和 0 表示 FALSE。...的基因映射相同的术语(尽管它必须从 tibble 转换为 goseq 的数据框)来运行基因集富集测试。
R语言通过函数(function)来提取对象属性、变量运算,函数可以来自R平台,也可以来自各种软件包(package)、自定义函数。 R语言不用事先声明对象或变量,对象在赋值时同步创建。...索引里面也可以使用order()等函数: 对于矩阵,也适用上一小节的基本函数,对于二维数据增添的的属性函数如下所示: ncol()返回矩阵、数组、数据框的列数目nrow()返回行数目colnames(...示例如下: 数组可以通过三元id进行索引,如下所示: 1.3数据框与因子 有时候通过实验、调查获得的数据不只有一种模式,也即字符型、数值型等混杂在一起(但是每一列必须同一模式),需要一种简单的数据集来存储变量数据...数据框元素索引有三种方法,第一种为通过列的序号索引,第二种通过列名字索引,第三种通过$变量名索引,如下所示: 可以使用attach()函数来将数据框添加到当前平台,这样就可以直接使用列名字或变量名来调用数据框中的数据...由于因子的存在,数据分组信息等都可以转换为一个变量,从而使得数据框可以存储远多于矩阵的数据。 1.4列表 列表(list)是R中最复杂的一种数据类型。
,适合将数值进行分类 qcut:和cut作用一样,不过它是将数值等间距分割 crosstab:创建交叉表,用于计算两个或多个因子之间的频率 join:通过索引合并两个dataframe stack: 将数据框的列...“堆叠”为一个层次化的Series unstack: 将层次化的Series转换回数据框形式 append: 将一行或多行数据追加到数据框的末尾 分组 聚合 转换 过滤 groupby:按照指定的列或多个列对数据进行分组...agg:对每个分组应用自定义的聚合函数 transform:对每个分组应用转换函数,返回与原始数据形状相同的结果 rank:计算元素在每个分组中的排名 filter:根据分组的某些属性筛选数据 sum...: 替换字符串中的特定字符 astype: 将一列的数据类型转换为指定类型 sort_values: 对数据框按照指定列进行排序 rename: 对列或行进行重命名 drop: 删除指定的列或行 数据可视化...shift: 沿着时间轴将数据移动 resample: 对时间序列进行重新采样 asfreq: 将时间序列转换为指定的频率 cut: 将连续数据划分为离散的箱 period_range: 生成周期范围
一、基本 1.数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量character;字符型向量 list:列表 data.frame:数据框c:连接为向量或列表 length...因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子table:交叉频数表 split:按因子分组aggregate...数组 array:建立数组 matrix:生成矩阵data.matrix:把数据框转换为数值型矩阵lower.tri:矩阵的下三角部分 mat.or.vec:生成矩阵或向量t:矩阵转置 cbind:把列合并为矩阵...rbind:把行合并为矩阵diag:矩阵对角元素向量或生成对角矩阵aperm:数组转置 nrow, ncol:计算数组的行数和列数dim:对象的维向量 dimnames:对象的维名row/colnames...sweep:计算数组的概括统计量aggregate:计算数据子集的概括统计量 scale:矩阵标准化matplot:对矩阵各列绘图 cor:相关阵或协差阵Contrast:对照矩阵 row:矩阵的行下标集
1.将数据读入R 无论要执行的R中的具体分析是什么,通常都需要导入数据用于分析。...我们使用的R中的函数将取决于我们引入的数据文件的类型(例如文本,Stata,SPSS,SAS,Excel等)以及该文件中的数据如何分开或分隔。下表列出了可用于从常见文件格式导入数据的函数。...2.检查数据结构 R有很多基本函数可用于检查数据并对其进行汇总。以测试数据metadata为例。 输入变量名metadata,回车来查看数据框; 变量中包含样本信息。...数据框或矩阵只是组合在一起的向量集合。因此,从向量开始,学习如何访问不同的元素,然后将这些概念扩展到数据框。...(2) 因子 由于因子是特殊的向量,因此索引选择值的相同规则适用于因子。之前创建的expression因子的元素具有以下level:low,medium,high。
数据框dataframe 一个合适表格就和问卷一样,是包含不同类型的数据的。但需要注意的是,数据框的每一列只 包含一种数据类型 ,也就是说每一列如果单独提取出来,都是一个向量。...数据框的来源 image.png as.data.frame(matrix),可以将矩阵数据转为数据框。 查看数据框 通过head()与tail()快速查看,默认提取前六行。...rings_vector <- planets_df$rings 将 rings 列下的全部元素给新的向量 通过筛选分类下的布尔型数据,可以针对该数据筛选出目标数据。...当通过名称对数据框进行选择的子集不存在时,R会帮我们创建一个新的内容。 排序 order() 会将其中的元素按照大小顺序排列,并按照大小顺序返回元素所在的位置数据。...tbl_df, tbl, data.frame,用as_tibble()可以将一个数据框转换为tibble,或者直接通过tibble 像创建数据框般创建tibble 数据框: t.bp <- tibble
正文 本篇描述了如何计算R中的数据框并将其添加到数据框中。一般使用dplyr R包中以下R函数: Mutate():计算新变量并将其添加到数据表中。 它保留了现有的变量。...同时还有mutate()和transmutate()的三个变体来一次修改多个列: Mutate_all()/ transmutate_all():将函数应用于数据框中的每个列。...Mutate_at()/ transmutate_at():将函数应用于使用字符向量选择的特定列 Mutate_if()/ transmutate_if():将函数应用于使用返回TRUE的谓词函数选择的列...tbl:一个tbl数据框 funs:由funs()生成的函数调用列表,或函数名称的字符向量,或简称为函数。predicate:要应用于列或逻辑向量的谓词函数。...mutate_if()对于将变量从一种类型转换为另一种类型特别有用。
(`) (5)dec decimal用于指明数据文件中小数的小数点。 (6)numerals 字符串类型。用于指定文件中的数字转换为双精度数据时丢失精度的情况下如何进行转换。...()函数读取字符型数据时是否转换为因子型变量。...当其取值为FALSE时,该函数将把字符型数据转换为因子型数据,取值为TRUE时,仍将其保留为字符型数据。...其取值可以是逻辑值向量(必要时可以循环赋值),数值型向量或字符型向量,以控制哪些列不被转换为因子。...注意:可以通过设置参数 colClasses = "character"来阻止所有列转换为因子,包括数值型的列。 (10)na.strings 可选的用于表示缺失值的字符向量。
列表(List): 列表是R中非常灵活的数据结构,可以包含不同类型的元素,包括其他列表。 数据框(Data Frame): 数据框用于存储表格数据,类似于矩阵,但可以包含不同类型的列。...因子(Factor): 因子用于存储分类变量,是用于统计分析的离散变量。 这些基础数据结构构成了R语言数据处理和分析的基石,使得R在统计分析和数据科学领域非常强大。...这里有两种方法来做到这一点,并且将原始的列表元素名称作为新数据框的一个列。...在这个例子中,Reduce函数迭代地将列表中的向量组合(通过cbind)成一个单一的数据框,names(mylist)用于获取列表元素的名称并设置为新数据框的列名。...# 查看结果 print(df) 手动处理:如果需要更细致的控制,可以手动将每个向量转换为数据框,然后添加一个表示原始向量名称的列,最后使用 bind_rows 合并它们。
简单的介绍数据的对象类型及文件的读入,输出。 一、对象类型: 包括标量、向量、矩阵、数组、数据框和列表。 1)向量(vector):用于存储数值型、字符型或逻辑型数据的一维数组。...", "B2", "B3"), c("C1", "C2", "C3", "C4"))) 4)数据框(data.frame):不同的列可以包含不同模式(数值型、字符型等)的数据,很重要!...联合使用函数attach()和detach()或单独使用函数with()来简化代码; 示例如下: attach(mtcars) #函数attach()可将数据框添加到R的搜索路径中summary(mpg...) #检查搜索路径中的数据框,以定位到这个变量plot(mpg, disp)detach(mtcars) #函数detach()将数据框从搜索路径中移除 with(mtcars, {nokeepstats...logical_value,sep="delimiter", row.names="name") 注1:help(read.table):更多详情 注2:stringsAsFactors=FALSE,可禁止将字符型变量将转换为因子
sapply:与 lapply 类似,但它自动将结果转换为向量、矩阵或数组。 apply:用于对矩阵或数组的行、列或其他维度进行循环操作。...❞ 例如,下面的代码使用 sapply 函数将列表中的每个字符串转换为大写: # 创建列表 x <- list("apple", "banana", "cherry") # 使用 sapply 函数对列表中的每个字符串执行...另外,apply 函数用于对矩阵或数组的行、列或其他维度进行循环操作。...6 9 例子 2:使用 apply 函数将矩阵转置 下面的代码使用 apply 函数将矩阵转置: # 创建矩阵 x <- matrix(1:9, nrow = 3) # 使用 apply 函数将矩阵转置...x, function(x) x^2) %>% sum [1] 55 例子 4:使用 tapply 函数根据性别分组并求平均身高 假设我们有以下数据,表示不同性别的人的身高: # 创建数据框 df
以下4种类型是最常用的:向量、矩阵、数据框、时间序列。...("C.1", "C.2", "C.3")) 定义矩阵行名和列名 1.3 数据框 DataFrame: data.frame() #其中" 的意思,将向量c(11:15)赋值给对象x >...x数据集中第一列数据 #方法二:dplyr::mutate#数值重定义和赋值 #将Ozone列取负数赋值给new,然后Temp列重新计算为(Temp - 32) / 1.8 mutate(airquality...> x<-1:10;x [1] 1 2 3 4 5 6 7 8 9 10 # 把向量转换为3段因子,分别列出每个值对应因子 > cut(x, 3) [1] (0.991,4] (...转置是一个数学名词,把行和列进行互换,一般用于对矩阵的操作。
函数transform()可以在数据框中创建新变量,并使用其他变量进行赋值,如下所示: mydata=transform(mtcars, sums=gear+carb,...如果仅仅是合并数据(不关心行、列的对应情况或者确定行、列正好对应),可以使用函数cbind()和函数rbind()来横向、纵向合并数据框或者矩阵、向量。...⑵特殊值 ①缺失值 在实际研究中,缺失值是难以避免的(不能将缺失值NA当做0来对待),可以使用函数is.na()来判断是否存在缺失值,该函数可以作用于向量、矩阵、数据框等对象,返回值为对应的逻辑值,如下所示...其中x为向量或矩阵,method为标准化方法,MARGIN=1按行处理,MARGIN=2按列处理: ①method="pa",将数据转换为有-无(1-0)类型,若分析不加权的情况群结构下可以使用; ②method...ggplot2不能识别矩阵,所有分组信息也必须转换为因子变量组成数据框。由于数据框存储的数据量要远大于矩阵,因此ggplot2可以做出信息含量更加丰富的图形。
领取专属 10元无门槛券
手把手带您无忧上云