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

R」用purrr实现迭代

迭代方式主要有两种: 命令式编程 - for和while 函数式编程 - purrr 准备工作 purrr是tidyverse核心r包之一,提供了一些更加强大编程工具。...,我们可以先将for循环包装在函数中,然后再调用函数,而不是使用for循环,因此for循环R中不像在其他编程语言中那么重要。...接下来我们将学习和使用purrr包,它提供函数可以替代很多常见for循环应用。R基础包中apply应用函数族也可以完成类似的任务,但purrr函数更一致,也更容易学习。...下面是进行一节一样操作: library(purrr) map_dbl(df, mean) #> a b c d #> 0.45635...$cyl) %>% map(function(df) lm(mpg ~ wt, data = df)) 因为R中创建匿名函数语法比较复杂,所以purrr提供了一种更方便快捷方式——单侧公式

4.8K20

R」dplyr 行式计算

「原文来自:dplyr 文档」 一篇:「R」dplyr 列式计算 通常 dplyr 和 R 更适合对列进行操作,而对行操作则显得更麻烦。...你可以 rowwise() 中提供“标识符”变量,这些变量将在你调用 summarise() 时候保留,因此它行为类似于将变量传入 group_by(): df <- tibble(name =...如果你是一个 R 文档迷,你可能知道有一个 base R 函数就是用来处理这种情况: df %>% mutate(l = lengths(x)) #> # A tibble: 3 x 2 #> x...更复杂问题中,你可能还希望改变被调用函数。...作为替代方案,我们建议使用 purrr map() 函数执行逐行操作。但是,这很有挑战性,因为您需要根据变化参数数量和结果类型来选择映射函数,这需要相当多 purrr 函数知识。

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

R语言】因子临床分组应用

前面给大家简单介绍了 ☞【R语言】R因子(factor) 今天我们来结合具体例子给大家讲解一下因子临床分组应用。 我们还是以TCGA数据中CHOL(胆管癌)这套数据为例。...关于这套临床数据下载可以参考 ☞如何从TCGA数据库下载RNAseq数据以及临床信息(一) 前面我们也给大家介绍过一些处理临床数据小技巧 ☞【R语言】卡方检验和Fisher精确检验,复现临床paper...*","stage I/II",stage) #转换成因子 stage=factor(stage) stage 可以得到下面这个两分组因子 方法二、直接使用factor函数 #删除组织病理学分期末尾...参考资料: ☞【R语言】R因子(factor) ☞如何从TCGA数据库下载RNAseq数据以及临床信息(一) ☞【R语言】卡方检验和Fisher精确检验,复现临床paper ☞R生成临床信息统计表...☞玩转TCGA临床信息 ☞TCGAbiolinks获取癌症临床信息 ☞肿瘤TNM分期 ☞R替换函数gsub

3.3K21

R 数据整理(十一: 用purrr包实现更花样匿名函数使用)

感觉purrr函数非常像py 中匿名函数相关函数。 而功能上,其起到作用更像是简化和丰富了apply 家族函数调用。...提取列表元素简写 map 除了调用无名函数时可以简写,提取列表元素时也有简写方法。 较为复杂数据, 有时表现为列表列表, 每个列表元素都是列表或者向量。...JSON、YAML等格式转换为R对象就经常具有这种嵌套结构。一般这种类型数据,导入R 后就表现为嵌套列表格式,也就是列表中每个元素也都是列表。...,可以省去循环麻烦,而且基本R 也没有提供类似walk功能。...将数据分散存储不同计算节点中, 将需要操作先映射到每台计算节点, 进行信息提取压缩, 最后用reduce思想将不同节点信息整合在一起。 6.

2.4K30

R入门?从Tidyverse学起!

tidyverse就是他将自己所写包整理成了一整套数据处理方法,包括ggplot2,dplyr,tidyr,readr,purrrtibble,stringr, forcats。...(处理因子问题) tidyverse安装也很简单,R中输入以下命令: #安装包 install.packages("tidyverse") #使用前,记得载入包 library(tidyverse...数据整理 tibble格式 R对多变量数据标准保存形式是 dataframe,而tibble是dataframe进化版,它有如下优点: 1....管道函数 %>% tidyverse中,管道符号是数据整理主力,它功能和Linux管道符“|”类似,可以把许多功能连在一起,而且简洁好看,比起R基本代码更加容易阅读!...当然,入门之后如果使用者未来需要使用R完成更细腻分析时,再分配较充足时间学习base R

2.5K30

「Workshop」第二期:程序控制与数据操作流

涉及编程数据和代码都会放到 https://github.com/XSLiuLab/Workshop 推荐图书 《R for Data Science》[1] 《R 语言编程指南》 《R 实战》 其他推荐见...逻辑值 mean, sum 位置 dplyr:: first last nth 排序 quantile min max 分布 IQR mad sd var count summarize 简单汇总 分组汇总...tibble tribble, enframe as_tibble, is_tibble 缺失值 drop_na fill replace_na 长转宽 pivot_wider, spread ?...基础语法一致,也可以使用 tidyverse 处理 整数索引 逻辑索引 命名索引 进一步学习参考小抄、文档和《R 语言编程指南》 后几期主题 本期未讲述内容???...正则表达式与字符串处理:base 与 stringr 列表处理与迭代计算:purrr 统计建模:stats 与 broom 绘图:graphics 与 ggplot2 函数编程:apply家族和purrr

1.5K30

从一件数据清洗小事说起

” 本期“大猫R语言公众号”由“村长”供稿。村长,数据科学、指弹吉他及录音工程爱好者,浙大金融学博士在读,data.table包和MongoDB使用上有较多经验。...问 题:从一段json清晰代码说起 笔者某一日R语言中文社区某一群里面发现了水友提出一个问题,处理一个比较奇葩数据清洗问题,先来看数据结构: ?...这是一个类json格式嵌套数据,其中存在两个变量,第一个变量是cusnum作为序号,第二个是一个类json嵌套变量,里面以类jsno格式嵌套了很多变量。 需要将这个数据集转换成如下格式: ?...实际,for循环“只会在不恰当使用时”降低性能。 然而大佬毕竟是大佬,用科学态度做了实验并给出了结论: ?...其实这一期这么扯淡讲这么多事情,只是为了说明一点,data.table真的有很好性能,尤其处理海量数据方面(分组特别多时候,相比dplyr和pandas有2x~10x提升,来自官方文档)。

67210

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

tidyverse就是Hadley Wickham将自己所写包整理成了一整套数据处理方法,包括ggplot2、dplyr、tidyr、readr、purrrtibble、stringr、forcats...从文件中读取数据 purrr:(提供好用编程函数 tibble:data.frame升级款 stringr:处理字符,查找、替换等 forcats:处理因子问题 ?...02 — tibble:高级数据框(data.frame升级版) ——数据(列)类型一目了然 tibbleR语言中一个用来替换data.frame类型扩展数据框,tibble继承了data.frame...tibble包,也是由Hadley开发R包。.../ 03 — %>%:管道函数 ——将左侧值应用到右侧数据data位置 管道函数tidyverse中,管道符号是数据整理主力,可以把许多功能连在一起,而且简洁好看,比起R基本代码更加容易阅读

4K10

跟着Nature Genetics学画图:R语言ggtree给进化树分组映射颜色

image.png 今天试着重复图片对应着是论文中Figure1d ?...source data fig1 这个树文件是excel存储,我们需要将其复制到文本文件中 分组文件对应是source data fig1中第五个excel表格 读取树文件 library(ggtree...) library(treeio) tree<-read.newick("NG/tree-fig-d.txt") 读取分组文件 group_info<-read.csv("NG/label_group.txt...",header=T,sep="\t") 表示分组文件需要有一列名称是label colnames(group_info)<-c("label","Origin","Species") 将分组信息和树文件合并...image.png 这里遇到一个问题是自定义颜色之后有的枝就没有了 这里暂时没有想明白如何给NA映射颜色,我这里采用办法是把NA替换成其他字符,比如我这里替换成WW tree1@data$Species

3.2K30

「Workshop」第四期:Tidyverse 实战批量建模可视化

本次主要介绍了一些基本正则表达式用法以及公式创建和使用,然后介绍使用 tidyverse 组合拳进行批量建模和可视化。...视频还是老样子后续推送,大家可以关注 B 站或 Github 更新(PS:今天对前几期更新了不少学习资料)。...查看本期代码[2] 资料: 小抄-因子[3] 小抄-purrr[4] 小抄-正则[5] 小抄-stringr[6] 内容: 字符处理基础 因子 手动 常见需求 基础字符串处理函数 映射 stringr...字符串转公式 实战:结合 tidyverse 对 mtcars 进行批量建模和生成 ggplot2 图形 编程将变量名组合转为公式 目标数据结构与生成 分组处理 purrr 批量建模与可视化 图形拼接...[3] 小抄-因子: factors.pdf [4] 小抄-purrr: purrr.pdf [5] 小抄-正则: regex.pdf [6] 小抄-stringr: strings.pdf

79220

tidymodels用于机器学习一些使用细节

tune:调整超参数 yardstick:评价模型 broom:可以把各种模型结果以整洁tibble格式返回,支持R语言所有内置模型!...还有大部分第三方R模型! infer:统计推断 workflows:联合数据预处理和算法 除此之外,还包括ggplot2/purrr/dplyr/tibbleR包。...但是一个很大问题是速度,因为底层也是基于tibble,所以速度没那么快,尤其是调参时候,非常慢,运算量一大就得好久时间才能出结果!...下面就来演示~ 训练集中训练模型,因为这个算法不复杂,我们也没进行特别复杂操作,所以还是很快我电脑大概2秒钟。。。...还有一个就是速度,基于tibble,并且各种fit_xxx()函数也是基于purrr包,这就导致它速度一般。但是目前我还没接触到需要好几个小时数据,一般也就顶多半小时!

1.4K40

RNA-seq入门实战(三):R里面整理表达量counts矩阵

一般为了对样品进行分组注释我们还需要在GEO网站下载样品Metadata信息表SraRunTable.txt,接下来就需要在R中对输出结果进行操作,转化为我们想要基因表达counts矩阵。...) # ggplot2 stringer dplyr tidyr readr purrr tibble forcats library(data.table) #多核读取文件 setwd("C:/Users...geneid), "efflen"] ### 计算 TPM 公式 #TPM (Transcripts Per Kilobase Million) 每千个碱基转录每百万映射读取...转换时经常会出现多个Ensembl_id对应一个gene symbol情形,此时就出现了重复gene symbol。此时就需要我们进行基因ID转换前去除重复gene symbol。...在这里展示筛选出至少重复样本数量内表达量counts大于1行(基因),可以看到超过一半以上基因都被筛掉了。

15.9K45

免疫浸润结果可视化

免疫浸润结果可视化 之前推文中我们介绍了2行代码实现9种免疫浸润方法,今天给大家介绍下常见免疫浸润结果可视化。 就以大家最常见cibersort为例进行介绍。...首先大家要对每种免疫浸润方法结果有一个大体认知,比如cibersort结果是各种免疫细胞样本中比例,所以一个样本中所有的免疫细胞比例加起来总和是1! 但是ssGSEA就不是这样了。...比如我这里就根据tumor/normal把样本分组,然后再组间进行非参数检验,并添加P值。 这些都是R语言基础操作,本号可视化合集中介绍了太多这些基本绘图知识了。...P值,这个需求你可以写循环实现,或者apply系列,purrr系列等,但是我试过,都太慢了,尤其是数据量很大时候。...P值,所以我知道大家想自己画更加花里胡哨一点,很久之前我就介绍过了这个方法了:R语言ggplot2画相关性热图 画图前先准备下数据,把P值数据和相关系数数据整合到一起,所以借助linkET包也是有缺点

88630

一步解决R中中文字符问题

❝今天会员交流群内有朋友询问图片预览遇到问题该如何解决,本节就来详细介绍一下R中图形预览及导出会遇到问题,个人观点仅供参考。...❞ 软件版本信息 R version 4.3.3 (2024-02-29) -- "Angel Food Cake" Copyright (C) 2024 The R Foundation for Statistical...3.2.1 ✔ lubridate 1.9.3 ✔ tidyr 1.3.1 ✔ purrr 1.0.2 ── Conflicts ───────────────...❝Cairo是R一个包,用于创建向量图形(如PDF、SVG)和位图图形(如PNG、BMP、GIF、JPEG)。它基于Cairo图形库,该库是一个跨平台图形API,支持多种输出设备。...(全局选项...) 3.弹出Options窗口中,从左侧菜单选择General General设置中,找到Graphics这里列出了上述一些设置项,选择Cairo点击Apply->OK ❞ 完成上述设置后

28910
领券