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

R语言批量生成CaseWhen解决方案

大家好,又见面了,我是你们朋友全栈君。 近期写R代码,经常用dplyr::case_when结合stringr::str_detect进行条件判断。...痛点:判断条件可能会改或增删,全写在case_when里,代码冗余且不利于复制和维护,stackoverflow找了一圈,没发现好解决方案,干脆自己写了一个通用代码以自动生成批量case_when判断...) 使用示例: 初始表tibble(fruit=stringr::fruit) 想实现字母a开头为’starts with a’,字母e结尾为’ends with e’ 等若干条件。...'(an)|(ch)','contains an or ch' ) 或者写在Excel里, 然后复制单元格,用conditions <- clipr::read_clip_tbl()读进R...函数核心依然是case_when,条件为真即停止,所以效率上没有损失。 如果想改条件,在conditions里放肆增删改,改完再跑一遍allCaseWhen即可。

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

70-R茶话会15-你编程菜鸟路上缺失一课

不谋而合是,很多我之前都介绍过了。 这就是优秀者们马太效应吗! 1-switch和case_when 在做数据分析时,常常遇到一个场景是,1,2,3 需要转换成其对应"a","b","c"。...比如在对结果进行分类统计时候。...,dplyr 提供了向量化操作[[37-R茶话会07-高效处理数据列]]: > dplyr::case_when( + tmp %in% "a" ~ 1, + tmp %in% "b"...其实我已经介绍过[[41-R茶话会08-优秀R使用者,优秀代码习惯]],以及包:[[22-R茶话会03-美化代码]] 这一次来看看tidyverse 官方包:Welcome | The tidyverse...5-学会在你R 分享内容里使用变量 以Rmd 为例子: You can do this by defining parameters in the YAML header of your R Markdown

3K40

Day07 生信马拉松-数据整理中R

全文并非是对数据整理实操整理,主要整理在数据整理/清洗中常用R包介绍 library(tidyr) library(dplyr) library(stringr) library(tibble) 1...x," ") #删除全部目标字符 2.玩转data.frame--dplyr包 2.1 arrange,数据框按照某一列排序,实际参数不能加" " library(dplyr) arrange(test...### library(dplyr) i = rnorm(10) case_when(i>0 ~ "+", i<0 ~ "-", T ~ "0") ★★★★★长脚本管理方式...进行转置:使gene名变为列名,将样本名转化为data.frame中第一列 ggplot2行名并不友好,通常要使样本名转化为data.frame中第一列,防止在后续代码运行过程中行名丢失 图片 图片...library(tidyr) library(tibble) library(dplyr) #加载数据整理需要包 dat = t(exp) %>% #将matrix进行行列转置 as.data.frame

21000

R语言ggplot2:单元格为方块热图简单小例子-2

昨天公众号后台有人留言作图,示例图如下 image.png 我选择使用R语言ggplot2来实现,这个是箱线图和热图拼接,右侧热图可以借助geom_point()函数实现,将点形状改为正方块,数值按照正负来映射颜色...继续昨天推文内容 R语言ggplot2绘图单元格为方块热图—1—调整图例位置(点击蓝色字体直达昨天推文) 今天推文记录一下如何实现这个热图 首先构造一份数据集 set.seed("20200407...library(dplyr) df1%>% mutate(group_1 = case_when( value <= 0 ~ "A", TRUE ~ "B" ))%>% mutate...(group_2=case_when( value >= -1 & value < -0.7 ~ "[-1,-0.7)", value >= -0.7 & value < -0.5 ~...scale_size_continuous(range = c(2,10))+ scale_y_discrete(position = "right")+ labs(x=NULL,y=NULL) image.png 这里遇到问题是如何让图例想推文开头图片一样

2.7K20

生信马拉松 Day7

(x1) #转matrix x3 = head(x2,50) #只要前50行 pheatmap::pheatmap(x3) #画热图 #使用管道符%>%代码 iris %>% select(-5...(dplyr) i = 0 ifelse(i>0,"+",ifelse(i<0,"-","0")) case_when(i>0 ~ "+", i<0 ~ "-",...…) #其中X是数据框/矩阵名; #MARGIN为1表示行,为2表示列,FUN是函数 test<- iris[1:6,1:4] apply(test, 2, mean) #列操作,得到有names...0.2333333 apply(test, 1, sum) ### 2.lapply(list, FUN, …) # 列表/向量中每个元素实施相同操作 lapply(1:4,rnorm)....如何进行长脚本管理 1.可以用if(F){}来进行长脚本管理,带有{}代码,可以被折叠 2.分成多个脚本,每个脚本最后保存Rdata,下一个脚本开头清空再加载,不推荐表格文件 生信技能树,生信马拉松

23200

使用 R 语言从 PDF 文档中提取表格

由于一个知识星球小伙伴急需学习如何从 PDF 文档中提取表格,所以先插这个课,「使用 R 语言处理 netCDF 数据」系列课程下次再发新哈。...本课程介绍了如何使用 R 语言从 WHO(世界卫生组织)官网上下载新冠疫情每日报告以及如何从这些报告中表格里面提取数据。...从 PDF 里面提取表格数据 我选择最新一个 PDF 做演示:20200523-covid-19-sitrep-124.pdf,下面使用 tabulizer 包进行数据提取,不过这个包依赖于 rJava...包,因此在使用这个包之前你需要在电脑上安装 Java 和在 R 里面安装 rJava 包。...因为电脑系统关系,我不好演示,大家可以自己研究下,不难。我这里提供几个 tips,Java 安装之后可能还需要进行环境变量配置。

3.5K10

roughnet绘制带有纹理填充网络图

欢迎关注R语言数据分析指南 ❝本节来介绍一款R包「roughnet」其最主要用来绘制网络图时添加纹理填充,小编测试后发现挺有趣有多了一种图形展示方式。...感兴趣朋友欢迎分享转发,「更多详细内容请参考作者官方文档」 ❞ 官方文档 ❝https://github.com/schochastics/roughnet ❞ 加载R包 remotes::install_github...igraph) install.packages(c("signnet","graphlayouts")) library(signnet) library(graphlayouts) library(dplyr...(main, weights = 1/w) # 使用 stress 布局计算节点坐标 # 将计算得到 x 坐标赋值给节点属性 V(main)$x V(main)$x <- xy[, 1] # 将计算得到..."s", "n") # 设置节点位置属性 # 创建一个宽度为 600,高度为 600 roughnet 图形,使用 Herculanum 字体 roughnet(main, width = 600

13320

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

dplyr包下主要是以下几个操作: select()——选择列 filter/slice()——筛选行 arrange()——进行排序 mutate()——修改列/创建列 summarize(...)——汇总数据 而这些函数都可以与group_by结合,分组数据进行处理。...=sumx/4)##dplyr允许使用管道%>%操作,且meanx可以引用sumx 2 select() select()使我们能够快速聚焦在有用数据子集上: df <- tibble(...包中涉及到排序包括 sort(),rank(),order(),而在dplyr包中与排序相关是arrange()包,默认是从高到低进行排序,如果变换排序顺序则可以使用-(变量)或者desc(变量)。...进行排序,再score进行排序 6 group_by() group_by可以对原数据进行分组计算,例如对于我们本文中数据框,我们如果个人或者科目感兴趣的话,可以使用group_by(name

2K10

TidyFriday R 语言中桑基图一些画法。。。

构造示例数据 首先我们需要构造一个示例数据集用于接下来演示,这里我使用是我微信好友数据里面的省份、城市、性别变量。...,可以直接使用 friends.csv 数据集: # 使用微信好友数据 library(hrbrthemes) library(tidyverse) library(ggplot2) library...使用 sankeywheel 绘制 介绍桑基图画法教程当然首先要介绍我自己写 R 包啦,我有一个 sankeywheel 包可以用来绘制桑基图,其实我在 探索微信好友数据 那个教程里面已经介绍过了这个...首先我们导入 ggalluvial 包, df 变量进行分组计数并把返回结果保存到 pg 数据框里面: library(ggalluvial) pg % count(prov,...使用 echarts4r 绘制 这个也蛮好用: library(echarts4r) df_count df_count %>% e_charts(width = "100%", height =

1.2K20

R tips:使用TCGAbiolinks包下载TCGA数据

TCGA数据下载就易用性来说,RTCGA包应该更好用,且由于是已经下载好数据使用比较稳定。但是也由于是下载好数据,不能保证数据都是全新。...GDCquery用于查询GDC数据库,里面获取所有需要下载TCGA数据各项记录。 GDCdownload根据GDCquery检索结果进行文件下载。...survival进行生存分析,使用survminer进行可视化。...log-rank和cox回归区别在于是cox是半参数检验,需要对数据有一些先验假设,另外cox回归并不不局限于拟合数据分类变量,也可以是连续变量。...象,里面的plot就是实际ggplto2象,如果有添加risk.table的话,那么里面的table元素就是实际ggplto2象。

3K31

手把手教你R语言方差分析ANOVA

这些数值型变量是你要分析目标,而分类变量则用于将数据分成不同组。...在进行方差分析之前,你可能需要对数据进行一些预处理,例如处理缺失值(使用na.omit(), na.exclude(), na.fill()等函数)、转换数据类型(使用as.factor(), as.numeric...()等函数)或进行变量选择(使用子集选择或dplyrselect()函数)。...在R中,你可以使用aov()函数来执行方差分析。这个函数需要一个公式,该公式描述了你要分析数值型变量和分类变量之间关系。...step7: 检查残差分布是否符合正态分布ANOVA比较是均值,需要每个分组残差服从正态部分plot(one.way, 2)采用Shapiro-Wilk残差进行检验shapiro.test(x =

15610

生信入门马拉松之R语言基础-脚本项目管理、条件循环、表达矩阵和一丢丢数据挖掘(Day 7)

Rdata可以保存多个变量,下次使用只需要一次load可以到多个数据。-Rdata不仅可以保存数据框,也可以保存其他任何数据结构,包括复杂对象!...代码2实现结果和代码1相同2.6 练习library(dplyr)x = c(-1,-1,4,5,2,0)case_when(x>0 ~ "A", x==0 ~ "0",...table(x)2.7 for循环x里每个元素进行同一操作for(i in x){CODE}#x是向量;i是代称,i自动等于某个循环里x元素for( i in 1:4){ print(i)}#for..., sum)#test每一行求和向量/列表隐式循环-lapply,批量操作### 2.lapply(list, FUN, …) # 列表/向量中每个元素实施相同操作lapply(1:4,rnorm...生信实战中R语言几个重点函数【小洁老师语录】编程能力,就是解决问题能力,也是变优秀能力R语言基础入门课程-到此结束7. 数据挖掘生信技能树小洁老师7.1 为什么数据挖掘?

12500

R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table)

介绍一种按照日期范围——例如按照周、月、季度或者年——进行分组超简便处理方式:R语言cut()函数。...2.aggregate函数不能对分组后数据进行多种汇总计算,因此要用两句代码分别实现sum和max算法,最后再用cbind拼合。显然,上述代码在性能和易用性上存在不足。...##按照已有的类别数据分类 g<-split(Cars93,Cars93$Origin) #按照cars93数据集,按照origin进行分组 ##例2:矩阵分组(按列) m<-cbind...")],function(x) sum(x)) 4、subset()函数 利用subset()函数进行访问和选取数据数据更为灵活,subset函数将满足条件向量、矩阵和数据框按子集方式返回。...(参考来源:R高效数据处理包dplyr和data.table,你选哪个?) ?

20.5K32

flowchart绘制丰富多彩流程图

= 0) |> mutate( text = case_when(id == 11 ~ label_exc1, id == 13 ~ label_exc2, TRUE ~...text), x = case_when(id == 3 ~ x + 0.15, id %in% c(11, 13) ~ x + 0.01, TRUE ~ x), y =...❝本节介绍到此结束,有需要学习R数据可视化朋友,欢迎到淘宝店铺R语言数据分析指南,购买小编R数据可视化案例文档(2024版),「购买将赠送2023年绘图文档内容」。...目前此文档(2023+2024)「已经更新上传了150+案例文档」,每个案例都附有相应数据和代码,并配有对应注释文档,方便大家学习和参考。...❞ 2024更新绘图内容同时包含数据+代码+markdown注释文档+文档清单,「小编只分享案例文档不额外回答问题无答疑问。」 在线同步更新 2024年案例图展示 2023年案例图展示

7310

R可视乎|饼图

饼图通过将一个圆饼按照分类占比划分成多个切片,整个圆饼代表数据总量,每个切片(圆弧)表示该分类占总体比例,所有切片(圆弧)加和等于100%。 下面会介绍两种在R中实现饼图方法。...首先我们构造一个模拟数据,如下所示,并用dplyr包中arrange()进行排序(默认从小到大),faction表示数值所占比例,ymax进行累积占比,总值为1。...以下为两种不同标签结果,为了区分,使用rewer.pal()函数将颜色进行变换。...ggplot2 包绘制饼图 使用R中ggplot2包geom_bar()函数绘制堆积柱形图,然后将直角坐标系转换成极坐标系,就可以显示为饼图,但还是需要使用geom_text()函数添加数据标签。...但是可以看到:由于缺乏饼图与数据标签之间引导线,总感觉美观度不够,所以推荐使用graphics包pie()函数绘制饼图。 代码以及资料存在我github上,可见文末原文链接。

1.4K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券