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

「R」用purrr实现迭代

一起复习一下吧~ 函数有3个好处: 更容易看清代码意图 更容易对需求变化做出反应(改变) 更容易减少程序bug 除了函数,减少重复代码的另一种工具是迭代,它的作用在于可以对多个输入执行同一种处理,比如对多个列或多个数据集进行同样的操作...::filter() masks stats::filter() #> ✖ dplyr::lag() masks stats::lag() for循环与函数式编程 因为R是一门函数式编程语言,我们可以先将...map_*()使用...向.f传递一些附加参数,供每次调用时使用 映射函数还保留名称 快捷方式 对于第二个参数.f,我们可以使用几种快捷方式来减少输入量。...这样,修改后的函数就不会抛出错误,相反,它总是返回由下面两个元素组成的列表: result - 原始结果。如果出现错误,那么它就是NULL error - 错误对象。...purrr提供了pmap()函数,它可以将列表作为参数。

4.8K20

R语言技巧 - 多sheet文档读取并合并输出

categories: R语言技巧 date: Feb 26, 2023 at 21:12:11 author: yeyezi subject: R语言技巧 - 多sheets文档读取并合并输出 偶尔我们会遇到将多个...sheets合并为一个的需求, 但是如果有几十个sheets合并起来既容易出错又麻烦, 有些时候文档内格式还不统一, 所以用代码跑就对了....代码如下: rm(list = ls()) library(librarian) shelf(openxlsx, dplyr, plyr) setwd("Project/EXCEL/") shtnames...<- readxl::excel_sheets("EXCEL O.xlsx") xlsxlist <- list() for (i in seq_along(shtnames)) { xlsxlist...colWidths = "auto") 效果对比 原文档: 图片 处理后: 图片 稍事修改: 图片 当然如果相对分sheet中的表格进行操作也是可以的, 只需要改动其中提取的循环内容就可以: for (i in seq_along

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

    生信代码:数据处理( tidyverse包)

    dplyr包下主要是以下几个操作: select()——选择列 filter/slice()——筛选行 arrange()——对行进行排序 mutate()——修改列/创建列 summarize(...)——汇总数据 而这些函数都可以与group_by结合,分组对原数据框进行处理。...select() select()使我们能够快速聚焦在有用的数据子集上: df <- tibble( name = c("Alice", "Alice", "Bob", "Bob", "Carol...() summarize()主要用于统计,往往与其他函数配合使用,比如计算所有同学考试成绩的均值: df %>% filter(type=="english")%>% summarize(...需要保存下来 5 arrange() R base包中涉及到排序的包括 sort(),rank(),order(),而在dplyr包中与排序相关的是arrange()包,默认是从高到低进行排序,如果变换排序顺序则可以使用

    2.1K10

    Python从零开始第三章数据处理与分析python中的dplyr(5)目录

    目录 第二章(pandas) Python从零开始第三章数据处理与分析python中的dplyr(1) Python从零开始第三章数据处理与分析python中的dplyr(2) Python从零开始第三章数据处理与分析...python中的dplyr(3) Python从零开始第三章数据处理与分析python中的dplyr(4) Python从零开始第三章数据处理与分析python中的dplyr(5) ==========...===================================== summarize()函数 summarize可以接受任意数量的关键字参数,这些参数将返回标有键的新列,这些键是原始DataFrame...0 3932.799722 3989.439738 通过这一步可以很简单求得price列的平均值与标准差 summarize() 可以很好的搭配group_by函数 diamonds >>...depth_var 0 3932.799722 1.591533e+07 61.749405 2.052366 summarize_each() 同样可以与group_by连用。

    98230

    数据处理|R-dplyr

    1)安装、加载dplyr包、准备数据 install.packages("dplyr") #加载dplyr包 使用dplyr包处理数据前,建议先将数据集转换为tbl对象。...arrange(iris,Sepal.Length) # 将数据按照Sepal.Length升序排序 5)变量变换/重构 mulate()函数可以数据拓展,也可以在保留原变量的基础上增加变量,进行数据处理...Width) #计算一个或多个新列并删除原列 6)数据汇总 summarize()函数实现数据集聚合操作,将多个值汇总成一个值 summarise(iris,avg = mean(Sepal.Length...summarise(iris, max(Petal.Width), first(Sepal.Width)) #返回数据框中变量的最大值及第一四分位值 7)数据分组 group_by函数对数据进行分组后,结合summarize...>%, 使用时把数据集名作为开头, 然后依次对此数据进行多步操作。

    2K10

    R︱高效数据操作——data.table包(实战心得、dplyr对比、key灵活用法、数据合并)

    R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table) 同时,data.table与data.frame数据呈现方面,还有有所不同的。...2、按条件行筛选 从前用subset的方式进行筛选比较多, new=14,select=a:f) (1)单变量 现在data.table与dplyr from_dplyr =...——————————— 四、分组求和、求平均 mygroup= group_by(try,gender,buy_online) from_dplyrsummarize(mygroup,mean=...from_dplyr=try %>% group_by(gender,buy_online) %>% summarize(mean=mean(new_car)) ————————————————————....SDcols常于.SD用在一起,他可以指定.SD中所包含的列,也就是对.SD取子集。

    9.3K43

    《高效R语言编程》6--高效数据木匠

    这是本书最重要的一章,将涉及以下内容: 使用tidyr整理数据 使用dplyr处理数据 使用数据库 使用data.table处理数据 软件配置 library("tibble") library("tidyr...tidyr方便了收集与分割两个常见的操作 gather()收集是将列名换成新变量,将宽表变成长表,spread()是实现相反过程的函数。...与基本R中类似函数不同,变量无需使用 $ 操作符就可直接使用,设计与magrittr包的%>%管道操作符一起使用,以允许每个数据阶段写成新的一行。其是一个大型包,本身可以看成一门语言。...summarize是一个多面手,用于返回自定义范围的汇总统计值。...数据库与dplyr 必须使用src_*()函数创建一个数据源。# 使用data.table()处理数据 是dplyr的替代,两个哪个好存在争议,最好学一个一直坚持下去。

    1.9K20

    来增加dplyr的可操作性

    的这种易用性是有代价的,假如想要对分析工作稍微增加一些编程属性时,就会发现dplyr的异常情况,比如将分组变量赋值给一个变量,使用变量来进行分组: ### 分组变量group_var无法完成工作 group_var...辅助dplyr完成编程工作 上面的例子中,之所以group_var不起作用,是因为dplyr直接将group_var当做变量名,然后去mtcars中寻找名字叫做group_var的列,这肯定是会报错的。...4 1 0 3 1 2 # 5 0 0 3 2 3 # 6 1 0 3 1 2 上述虽然可以完成,但是实际使用时....data) #使用enexpr而不是ensym,因为后边调用时传入的实参是mtcars[1:6, group_v],它是一个语句,而不是symbol for (i in seq_along(.vars...将x与y先求值,最后eval_tidy执行语句即可: expr(mtcars %>% ggstatsplot::ggbetweenstats(x = !!sym(x), y = !!

    2.5K31
    领券