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

R语言数据结构与转换

下面介绍 R 中用于存储数据多种数据结构。 R 数据结构 在大多数情况下,结构化数据是一个由很多行和很多组成数据集。在 R 中,这种数据集被称为数据。...在学习数据之前,我们先来认识一些用于存储数据数据结构:向量、因子、矩阵、数组和列表。 1.1 向量 向量(vector)是用于存储数值型、字符型、逻辑型数据一维数组。...因子在 R 中非常重要,它决定了数据展示和分析方式。数据存储时因子经常以整数向量形式存储。所以在进行数据分析之前,经常需要将它们用函数 factor( ) 转换为因子。...与矩阵不同是,数据里不同可以是不同模式(数值型、字符型等)数据数据可以通过函数 data.frame( ) 创建。...在进行数据分析时,分析者需要对数据类型熟稔于心,因为数据分析方法选择与数据类型是有密切联系。R 提供了一系列用于判断某个对象数据类型函数,还提供了某种数据类型转换为另一种数据类型函数

44630

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:矩阵

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

R语言基础教程——第3章:数据结构——因子

因子具有因子水平(Levels),用于限制因子元素取值范围,R强制:因子水平是字符类型,因子元素只能从因子水平中取值,这意味着,因子每个元素要么是因子水平中字符(或转换为其他数据类型),要么是缺失值...通常情况下,在创建数据变量时,R隐式把数据类型为字符创建因子,这是因为R会把文本类型默认为类别数据,并自动转换为因子。前面我们在讲数据时,就有提到。...在数据清理时,可能需要去掉与因子水平对应数据,通常情况下,需要删除未使用因子水平,可以使用droplevels函数,它接受因子或是数据作为参数。...如果x是数据,那么把数据中未使用因子删除。...,c(150,170,190)) [1] (150,170] (170,190] (150,170] Levels: (150,170] (170,190] 8 修改数据因子 一般情况下,数据字符类型会转换为因子类型

3.8K30

R数据科学整洁之道:使用 tibble 实现简单数据

tibble 是一种简单数据,它对传统数据功能进行了一些修改,其所提供简单数据更易于在 tidyverse 中使用。 多数情况下,我们会交替使用 tibble 和数据这两个术语。...tidyverse 中许多函数都可以创建 tibble,因为 tibble 是 tidyverse 标准功能之一。 可以通过 tibble() 函数使用一个向量来创建新 tibble。...data.frame() 函数功能要少得多:它不能改变输入类型(例如,不能将字符串转换为因子)、变量名称,也不能创建行名称。...创建 tibble 另一种方法是使用 tribble() 函数,tribble 是 transposed tibble(置 tibble) 缩写。...最后总结 tibble 相对于数据来说,更简单,但更方便使用,两者主要区别是: tibble 不能创建行名。 tibble 不能改变输入类型(例如,不能将字符串转换为因子)、变量名称。

1.5K10

Pandas库常用方法、函数集合

,适合数值进行分类 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: 生成周期范围

23410

R语言入门系列之一

R语言通过函数(function)来提取对象属性、变量运算,函数可以来自R平台,也可以来自各种软件包(package)、自定义函数。 R语言不用事先声明对象或变量,对象在赋值时同步创建。...索引里面也可以使用order()等函数: 对于矩阵,也适用上一小节基本函数,对于二维数据增添属性函数如下所示: ncol()返回矩阵、数组、数据数目nrow()返回行数目colnames(...示例如下: 数组可以通过三元id进行索引,如下所示: 1.3数据因子 有时候通过实验、调查获得数据不只有一种模式,也即字符型、数值型等混杂在一起(但是每一必须同一模式),需要一种简单数据集来存储变量数据...数据元素索引有三种方法,第一种为通过序号索引,第二种通过列名字索引,第三种通过$变量名索引,如下所示: 可以使用attach()函数数据添加到当前平台,这样就可以直接使用列名字或变量名来调用数据数据...由于因子存在,数据分组信息等都可以转换为一个变量,从而使得数据可以存储远多于矩阵数据。 1.4表 列表(list)是R中最复杂一种数据类型。

3.7K30

R语言常用函数速查

一、基本 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:矩阵行下标集

2.5K90

R语言基础教程——第8章:文件输入与输出

(`) (5)dec decimal用于指明数据文件中小数小数点。 (6)numerals 字符串类型。用于指定文件中数字转换为双精度数据时丢失精度情况下如何进行转换。...()函数读取字符型数据时是否转换为因子型变量。...当其取值为FALSE时,该函数将把字符型数据换为因子数据,取值为TRUE时,仍将其保留为字符型数据。...其取值可以是逻辑值向量(必要时可以循环赋值),数值型向量或字符型向量,以控制哪些不被转换为因子。...注意:可以通过设置参数 colClasses = "character"来阻止所有换为因子,包括数值型。 (10)na.strings 可选用于表示缺失值字符向量。

4.6K31

Day4:R语言课程(向量和因子取子集)

1.数据读入R 无论要执行R中具体分析是什么,通常都需要导入数据用于分析。...我们使用R中函数取决于我们引入数据文件类型(例如文本,Stata,SPSS,SAS,Excel等)以及该文件中数据如何分开或分隔。下表列出了可用于从常见文件格式导入数据函数。...2.检查数据结构 R有很多基本函数用于检查数据并对其进行汇总。以测试数据metadata为例。 输入变量名metadata,回车来查看数据; 变量中包含样本信息。...数据或矩阵只是组合在一起向量集合。因此,从向量开始,学习如何访问不同元素,然后这些概念扩展到数据。...(2) 因子 由于因子是特殊向量,因此索引选择值相同规则适用于因子。之前创建expression因子元素具有以下level:low,medium,high。

5.5K21

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

正文 本篇描述了如何计算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()对于变量从一种类型转换为另一种类型特别有用。

4.1K20

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

数据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

2.8K20

快速掌握apply函数家族推荐这篇文档

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

2.9K30

R In Action|创建数据

简单介绍数据对象类型及文件读入,输出。 一、对象类型: 包括标量、向量、矩阵、数组、数据和列表。 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,可禁止字符型变量换为因子

1.5K40

R语言入门系列之二

函数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可以做出信息含量更加丰富图形。

3.7K30

R语言入门

工欲善其事必先利其器,学习R语言数据分析,第一步自然是R安。...它们在存储数据类型、创建方式、结构复杂度,以及用于定位和访问其中个别元素标记等方面均有所不同。 我们接下来逐个介绍这些数据结构。...像矩阵一样,数组中数据也只能拥有一种数据类型。 4、数据 数据可用来存储下图格式,不同可以包含不同数据数据是R中最常处理数据结构。...数据可通过函数data.frame()创建:mydata <- data.frame(col1, col2, col3,...)其中向量col1、 col2、 col3等可为任何类型(如字符型、数值型或逻辑型...每一数据模式必须唯一,不过你却可以多个模式不同放到一起组成数据。 访问数据中元素方式有若干种。

2.1K30

基因表达差异分析前准备工作

/因子数据 我们正在对p53野生型(WT)和敲除(KO)基因型癌症样本进行RNA-seq。...为每创建vectors/factors(提示:您可以键入每个vectors/factors,如果您希望更快速创建,可以尝试使用rep()函数) 将它们放到一个数据中,这个数据命名为meta 使用...检查meta数据行名称是否与counts(内容和顺序)中列名称相同 现有 stage换为因子数据类型 1str(meta) 2all(rownames(meta) %in% colnames...使用上一个问题中创建meta数据,执行以下练习(问题之间不是相互依赖): 使用[]仅返回genotype和sex 使用[]返回样本1、7和8genotype值 用于filter()返回基因型为...WT样本所有数据 使用filter()/ select()仅返回myc> 50那些样本stage和genotype数据开头添加一个名为pre_treatment,其值为T、F、T、

1.1K20

R入门?从Tidyverse学起!

这种入门学习路径属于base R first,学习流程基本是先了解变量类型、数据结构,再深入点就会学到循环与自定义函数。...生成数据数据可以保持原来数据格式,不会被强制性改变,即字符串,不会莫名其妙变成因子格式; 2. 查看数据时,不再会一行显示不下,多行显示得非常丑; 3....数据操作速度会更快 如下图,直接查看tibble格式数据,可以一目了然看清数据大小和每格式 ? 有两种方式来创建tibble格式数据 1. 直接创建 ? 2....%>% 作用就是iris数据用于管道后面的head函数。...(对数据分组) 1. filter 只选取Species中,值为virginica数据 (这里也是用到了管道符,filter函数用于iris数据) ?

2.5K30

数据科学学习手札68)pandas中categorical类型及应用

一、简介   categorical是pandas中对应分类变量一种数据类型,与R中因子型变量比较相似,例如性别、血型等等用于表征类别的变量都可以用其来表示,本文就将针对categorical相关内容及应用进行介绍...二、创建与应用 2.1 基本特性和适用场景   在介绍具体方法之前,我们需要对pandas数据类型中categorical类型有一个了解,categorical类似R中因子型变量,可以进行排序操作,...2、对于DataFrame,在定义数据之后转换类型: #创建数据 df_cat = pd.DataFrame({ 'V1':['A','C','B','D'] }) #转换指定数据类型为category...而pd.Categorical()独立创建categorical数据时有两个新特性,一是其通过参数categories定义类别时,若原数据中出现了categories参数中没有的数据,则会自动转换为pd.nan...2.3 应用   categorical型数据主要应用于自定义排序,如下例,我们创建了一个包含字符型变量class和数值型变量value数据: import numpy as np df = pd.DataFrame

1.2K20
领券