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

R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)

2.8 mutate 可以为数据框计算新变量,返回含有新变量以及原变量的新数据框: mutate(test, new = Sepal.Length * Sepal.Width) > head(test,...2.10 表格的拆分与合并 将同一列中的内容分为两列内容。或将两列内容合并为同一列内容。 首先还是可以创建一个数据框。...对于待分离的对象(col),不必加上引号;但对于即将创建的新列(into),需要使用引号,由于是两列,这里使用向量创建。sep参数设定读取表格信息时以何符号作为分隔符。...nest 与unnest 对于数据框,我们可以使用split 将数据框按某列拆分为多个数据框,并储存在列表中。...实际上,tibble 允许存在数据类型是列表 (list) 的列,子数据框就是以列表数据类型保存在 tibble 的一列中的。

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

    R 数据整理(六:根据分类新增列的种种方法 1.0)

    也就回到了开始创建的数据框test。 separate&&unite 将同一列中的内容分为两列内容。或将两列内容合并为同一列内容。 首先还是可以创建一个数据框。...对于待分离的对象(col),不必加上引号;但对于即将创建的新列(into),需要使用引号,由于是两列,这里使用向量创建。sep参数设定读取表格信息时以何符号作为分隔符。...对于即将合并的新列,需要使用引号;但对于想要合并的多个列名,可以不用使用引号。sep 参数设定多列合并后不同数据分隔使用的分割符。...按列号 select(test,1) select(test,c(1,5)) 按列名 如果想要用向量来存放希望筛选的列名,需要使用函数 one_of 来存放该向量。...处理关系数据 即通过dplyr 包将表格进行连接。

    2.1K20

    DAY6-学习R包

    ") 加载 library和require 使用一个R包需先安装再加载 library(dplyr)dplyr五个基础函数mutate(),新增列——mutate(test, new = Sepal.Length...*Sepal.Width)要修改的数据框的名称将创建的新变量的名称将分配给新变量的值select()按列筛选select(test,1)#筛选test中的第一列select(test,c(1,5))#筛选...test中的第一列和第五列select(test,Sepal.Length)#筛选test中名为Sepal.Length的一列按列名筛选select(test, Petal.Length, Petal.Width...)选择字符向量中的列,select中不能直接使用字符向量筛选,需要使用one_of函数vars dplyr两个实用技能管道操作 %>% —— 相当于将左边的作为右边函数的第一个参数,快捷键: ctrl+shift+M(不管用——改为Ctrl+a) test %>%  group_by(Species

    23830

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

    正文 本篇描述了如何计算R中的数据框并将其添加到数据框中。一般使用dplyr R包中以下R函数: Mutate():计算新变量并将其添加到数据表中。 它保留了现有的变量。...同时还有mutate()和transmutate()的三个变体来一次修改多个列: Mutate_all()/ transmutate_all():将函数应用于数据框中的每个列。...Mutate_at()/ transmutate_at():将函数应用于使用字符向量选择的特定列 Mutate_if()/ transmutate_if():将函数应用于使用返回TRUE的谓词函数选择的列...mutate:通过保留现有变量来添加新变量,通过保留现有列来添加新列(sepal_by_petal): library(tidyverse) my_data <- as_tibble(iris) my_data...my_data %>% mutate(sepal_by_petal_l = Sepal.Length/Petal.Length) transmute:通过删除现有变量来创建新变量,删除现有列,添加新列

    4.2K20

    从零开始的异世界生信学习 R语言部分 06 R应用专题

    ) arrange(test, Sepal.Length) #按照一列的顺序将所有数据框从小到大排序,列名不带引号, arrange(test, desc(Sepal.Length)) #从大到小 排序...数据新增列 # mutate,数据框新增一列,新增一列是两列数值的乘积 mutate(test, new = Sepal.Length * Sepal.Width) 图片 图片 select和filter...list,使用下标循环,可以将每次循环的结果都保存到列表中 ## cbind 按列拼接 a = rnorm(10) b = 1:10 cbind(a,b) ##do.call() 函数是对列表 list...gene", ##新的列的名字 values_to = "count") ## 把原来列中的数值一一对应形成一个新的数值列'count' 图片 library(ggplot2...list(x = 36:33,y = 32:35,z = 30:27);test #返回值是列表,对列表中的每个元素(向量)求均值(试试方差var,分位数quantile) lapply(test

    2.5K30

    Day6 呦呦鹿鸣—学习R包

    iris可知其为150×5的列表dplyr五个基础函数1.mutate(),新增列mutate(test, new = Sepal.Length * Sepal.Width)mutate(df, z =...x + y)2.select(),按列筛选,按名称选择变量(1)按列号筛选select(test,1)# 筛选test数据集的第一列iris %>% select(1:3)# 筛选iris数据集的第一到第三列..., test2, by = "x")满足两个条件:有相同变量名,相同变量名的列里有相同元素;2.左连left_join列表书写顺序决定了最终合成列表中列的顺序left_join(test1, test2...,每列数值的类型必须相同;以"by"的列为标准,补齐列表,空值为"NA"4.半连接:返回能够与y表匹配的x表所有记录semi_join交集表中test1部分的列semi_join(x = test1,...y = test2, by = 'x')5.反连接:返回无法与y表匹配的x表的所记录anti_jointest1中去除交叉部分的列表anti_join(x = test2, y = test1, by

    17110

    tidyverse:R语言中相当于python中pandas+matplotlib的存在

    ; 查看数据时,不再会一行显示不下(会自动隐藏一部分,自带head);有两种方式来创建tibble格式的数据: 1....——将左侧的值应用到右侧数据data位置 管道函数在tidyverse中,管道符号是数据整理的主力,可以把许多功能连在一起,而且简洁好看,比起R的基本代码更加容易阅读!...:数据整理 dplyr包的下述五个函数用法 4.1 筛选: filter 4.2 排列: arrange 4.3 选择: select 4.4 变形: mutate 4.5 汇总: summarise...tidyr包的下述四个函数用法 5.1 宽数据转为长数据:gather (excel透视表反向操作) 5.2 长数据转为宽数据:spread (excel透视表功能) 5.3 多列合并为一列:unit...#key:将原数据框中的所有列赋给一个新变量key #value:将原数据框中的所有值赋给一个新变量value #…:可以指定哪些列聚到同一列中 #na.rm:是否删除缺失值 widedata <-

    4.2K10

    dplyr数据处理

    () select()函数用于筛选有用的列,第一个参数还是数据库,第二个参数以及后面是需要的列名,列名有多种书写方式,可以使用冒号作为范围,也可以使用 stars_with,ends_with...另外,当想要把几个需要的列移到前面,可以配合使用 everythins()函数,将剩余的列添加到后面。...mtcars %>% dplyr::sample_n(10) mtcars %>% dplyr::sample_frac(0.2) 六、创建新变量 有时需要对已有变量进行重新计算,例如计算几列的和...,会某一列取对数,这样将生成新的变量,这个时候可以使用 mutate 函数。.../People) 七、统计 使用 summarise()可以对每一列单独进行计算,例如求和,求平均值等,这些都可以使用apply 系列函数来完成,summarise()一般都配合 group_by

    1.5K10

    「R」dplyr 列式计算

    ❝在近期使用 「dplyr」 进行多列选择性操作,如 mutate_at() 时,发现文档提示一系列的 「dplyr」 函数变体已经过期,看来后续要退休了,使用 across() 是它们的统一替代品,所以最近抽时间针对性的学习和翻译下...最后我们将简要介绍一下历史,说明为什么我们更喜欢 across() 而不是后一种方法(即 _if(), _at(), _all() 变体函数)以及如何将你的旧代码转换为新的语法实现。...你可以通过对第二个参数传入一个函数(包括 lambda 函数)的命名列表来对每个变量同时执行多个函数操作。..._if, _at, _all 「dplyr」 以前的版本允许以不同的方式将函数应用到多个列:使用带有_if、_at和_all后缀的函数。这些功能解决了迫切的需求而被许多人使用,但现在被取代了。...我们可以使用没有外部名称作为将数据框列解包为单独列的约定。 你如何转移已经存在的代码?

    2.4K10

    数据清洗与管理之dplyr、tidyr

    通过变量名引用(多用于二维数组中):数据集$变量名 > head(iris$Petal.Length,5) [1] 1.4 1.4 1.3 1.5 1.4 1 创建新变量 在R语言中,可以通过变量计算/...,或者替代异常值等 在R中重新编码数据常用逻辑运算符,通过TRUE/FALSE等返回值,确定编码的位置。...包的下述五个函数用法【高级数据管理包】 # install.packages("dplyr") library(dplyr) #使用datasets包中的mtcars数据集做演示,首先将过长的数据整理成友好的...,将左侧数据结果传递到右侧,作为右侧处理的原始数据 #当对数据集通过group_by()添加了分组信息后,mutate(),arrange() 和 summarise() 函数会自动对这些 tbl 类数据执行分组操作...key #value:将原数据框中的所有值赋给一个新变量value #…:可以指定哪些列聚到同一列中 #na.rm:是否删除缺失值 widedata <- data.frame(person=c('Alex

    1.9K40

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

    Dplyr Distinct keep unique rows distinct 函数用于去除数据框中的重复观测,仅保留唯一的观测。它可以基于指定的列对数据框进行去重操作,确保每个观测都是唯一的。...Dplyr Mutate create, modify, and delete columns mutate 函数用于添加新变量或修改现有变量,能够基于已有数据创建新的变量列,支持对数据框进行实时的变量操作和修改...Dplyr Select keep or drop columns select 函数用于选择数据框中的特定列,可以保留感兴趣的变量,并且能够根据列名、位置或条件表达式进行灵活的变量选择操作。...Tidyr Pivot Longer from wide pivot_longer 函数用于将宽格式数据转换为长格式数据,能够根据用户指定的列将数据框中的多个列整理成一对 “名-值” 对,便于进一步的分析和处理...Tidyr Pivot Wider from long pivot_wider 函数用于将长格式数据转换为宽格式数据,能够将数据框中的一列分成多个列,根据指定的列名进行展开,使得数据以更直观的宽格式形式呈现

    17220

    biotrainee note 6

    (x2,"o","A") ## 将元素中的“o”替换成“A”,但如果连续遇到只替换第一个str_replace_all(x2,"o","A") ## 将元素中所有的“o”均替换成“A”### 6.字符删除...:102),]rownames(test) =NULL # 去掉行名,NULL是“什么都没有”test ## 得到一个只有6行的数据框# arrange,数据框按照某一列排序library(dplyr)...arrange(test, Sepal.Length) #将“Sepal.Length”列从小到大排序,并扩展到其他列,会将排序的结果返回至数据框。...***arrange(test, desc(Sepal.Length)) #从大到小sort(test$Sepal.Length) #只排这一列,因为取完子集后变成了一个向量# distinct,数据框按照某一列去重复...distinct(test,Species,.keep_all = T) #去重后会保留所有的列# mutate,数据框新增一列mutate(test, new = Sepal.Length * Sepal.Width

    6000

    dplyr-cli:在Linux Terminal上直接执行dplyr

    csv 不执行dplyr命令,仅将输入数据作为CSV输出到stdout kable不执行dplyr命令,而仅将输入数据作为 knitr::kable()格式字符串输出到stdout 其工作原理:dplyr-cli...接着我们就通过一系列的实战例子来了解一下如何使用这个好用的工具,这里会使用到 mtcars.csv这个文件,当你从Github下载 dplyr-cli时,会包含其作为一个测试文件: 例子一:简单的基本操作.../dplyr select --file mtcars.csv -c cyl | head -n 6 实例二:多个数据处理的参数的结合 创建名为 cyl2的新一列,它的值为 cyl的两倍,再提取 cyl...将下面的alias放到你.bashrc中: alias mutate="dplyr mutate"alias filter="dplyr filter"alias select="dplyr select"alias...,根据cyl列的值来计算mpg平均值的任务执行好,并且输出到屏幕中。

    2.1K10

    R语言基础提升与总结

    distinct(test,Species,.keep_all = T)distinct(test,Species)2.3 mutate()新增一列mutate(test, new = Sepal.Length...}重点 ifelse函数ifelse(x,yes,no)x:逻辑值或者逻辑值向量yes:逻辑值为TRUE时的返回值no:逻辑值为FALSE时的返回值ifelse函数支持单个逻辑值,也支持多个逻辑值组成的向量...x 如何将for循环的结果保存下来?...,按列拼接成为一个矩阵 do.call完成批量操作4 表达矩阵画箱线图4.1 表达矩阵的概念基因表达的数据通常使用表达矩阵来表示其中矩阵的行代表某个基因在不同样本(不同处理,或时间点等)中的表达水平列表示某个样本中各个基因的表达水平...——applyapply(X,MARGIN,FUN…)X:数据框/矩阵名称MARGIN:取值=1表示行;取值=2表示列FUN:具体函数对X的每一行/每一列进行FUN这个函数test<- iris[1:6,1

    18310

    R&Python Data Science 系列:数据处理(3)

    )区别在于:对某(几)列作用几个函数,summarize()需要几个函数依次作用于对应的列,而summarize_each()将几个函数以列表形式作为第一个参数,作用于后面的列: Python实现 ##...3 窗口函数 窗口函数,是对某列操作,返回长度相同的一列,主要包括排名函数、偏移函数、累计聚合函数。...4 聚合函数 聚合函数是对某一列数据,使用分组函数和排序函数进行处理之后(可以省略),使用聚合函数,返回一个值。...注意:Python中n()函数需要传入参数,R中不需要传入参数;Python中输出列按照字段名称升序排列,R中输出的列按照书写顺序输出。...5 总结 数据处理1-3,主要介绍了Python中dfply和R中dplyr包中的数据处理函数,几乎满足数据预处理中筛选变量、衍生变量以及计算一些统计量的需求。

    1.3K20

    数据处理第2节:将列转换为正确的形状

    转换列:基础部分 您可以使用mutate()函数创建新列。 mutate中的选项几乎是无穷无尽的:你可以对普通向量做任何事情,可以在mutate()函数内完成。...mutate中的任何内容都可以是新列(通过赋予mutate新的列名),或者可以替换当前列(通过保持相同的列名)。 最简单的选项之一是基于其他列中的值的计算。...在这种情况下,您有一些选择:要么预先创建一个函数(如果它更长时间有用),或者通过将它包装在funs()或波形符中来动态创建函数。...在这些情况下,我们必须在给出round()指令之前添加列需要为数字的条件,这可以使用mutate_if来完成。 通过使用mutate_if(),我们在管道中需要两个参数: 首先,它需要有关列的信息。...如果我想在几分钟内完成,我可以使用mutate_at()并将包含列的所有'sleep'包装在vars()中。 其次,我在飞行中创建一个函数,将每个值乘以60。

    8.1K30
    领券