ifelse y = c(3,5,-1,0) ifelse(y>0,"pos","neg") ## [1] "pos" "pos" "neg" "neg" case_when 如果有多个条件,可以使用...dplyr包中的case_when。...library(dplyr) case_when( y > 0 ~ "pos", y < 0 ~ "neg", TRUE ~ "0" ) ## [1] "pos" "pos" "neg"..."0" case_when会从第一个条件开始判断,是T就输出相应的值,是F就再判断下一个条件。...方法 如果是多个条件,那就使用pandas里的case_when方法 import pandas as pd y = pd.Series([3,5,-1,0]) y.case_when([ (y
#提取x中第5和第9位的字符串 str_sub(x,5,9) 1.4 字符检测 str_detect(x2,"h") # 第一个参数为向量名,第二个是检测的关键词 str_starts(x2,"T")...#判断x2中T开头的字符串,输出逻辑向量 str_ends(x2,"e") #判断x2中e结尾的字符串,输出逻辑向量 1.5 字符串替换 x2 str_replace(x2,"o","A") #每个元素里面只替换第一次出现的目标字符...x," ") #删除全部目标字符 2.玩转data.frame--dplyr包 2.1 arrange,数据框按照某一列排序,实际参数不能加" " library(dplyr) arrange(test..., Sepal.Length) #从小到大排序 arrange(test, desc(Sepal.Length)) #从大到小排序 2.2 distinct,数据框按照某一列去重复 distinct...### library(dplyr) i = rnorm(10) case_when(i>0 ~ "+", i<0 ~ "-", T ~ "0") ★★★★★长脚本的管理方式
没想到已经完成一周了,内容逐渐从单打独斗到了进阶的内容,gan ba dei! Tidyverse Day!...) a=arrange(test, Sepal.Length) #从小到大 b=arrange(test, desc(Sepal.Length)) #从大到小 #这个函数写列名不加引号,可以先写上数据集名称然后...条件和循环,if,for 碎碎念:这个东西每次好久不用就想不起格式要重新查,脑子是个好东西,就是漏的厉害 rm(list=ls()) #if的格式 if (){ #if后面的括号里只能是一个逻辑值...require(g,character.only = T)) install.packages(g,ask = F,update = F) } 一个类似的函数case_when() library...(dplyr) i = 0 ifelse(i>0,"+",ifelse(i<0,"-","0")) case_when(i>0 ~ "+", i<0 ~ "-",
玩转字符串1.检测字符串长度str_length(x)length(x)# 字符的个数2.字符串拆分str_split(x," ") # 把42个字符 按照“空格”拆分成八个字符串class(str_split...) #默认根据这一列从小到大给整个数据框排序arrange(test, desc(Sepal.Length)) #从大到小distinct,数据框按照某一列去重复unique 给向量去掉重复duplicated...select(iris,-5)),50))管道符号传递,简洁明了iris %>%select(-5) %>%as.matrix() %>%head(50) %>%pheatmap::pheatmap()玩转条件和循环条件...else2, ifelse(,,ifelse)在ifelse里加一个ifelse补充 case_when练习题1.加载deg.Rdata,根据a、b两列的值,按照以下条件生成向量x:load("deg.Rdata..."name")right_join:右连接,以右边的为准right_join(test1,test2,by="name")表达矩阵画箱线图当x和y没有名字可以简写表达清楚的时候,不是ggplot2可以接受的类型
今天的主要内容是讲TCGA特有的数据分析内容肿瘤专属的知识笔记:1、TCGA的tumor和normal是表达数据里自带的,因此不需要特地下载临床信息,但是如果需要筛选样本,如特定的癌症亚类或相关的信息就需要临床信息...pwd=xjls 提取码:xjls 3.从GEO数据库找T-N的数据做差异分析,差异基因在TCGA里面继续分析(因为TCGA数据量大且齐全,适合做生存分析)combat_seq函数可以处理转录组批次效应...#一个按条件筛选的小技巧library(dplyr)#创造一个数据,这是我自己搞的data = data.frame(gene1 = rep(c('Negative','Positive'),each=...3), gene2 = rep(c('Negative','Positive'),times=3))#写上条件k1 = data$gene1=='Negative'&data...$gene2=='Negative'k2 = data$gene1=='Negative'&data$gene2=='Positive'case_when(k1~'Type1', k2
o替换为a,只替换出现的第一个o; str_replace(x,"o|s","a")#将x中的o或者s替换为a,只替换出现的第一个o; str_replace_all(x,"o","a")#将x中的o替换为...a,替换所有的o; str_remove(x," ")##将x中的第一个空格删除; str_remove_all(x," ")##将x中的全部空格删除; 图片 library(stringr) str_split...)) #从大到小 # distinct,数据框按照某一列去重复 distinct(test,Species,.keep_all = T)##将Species列去重复,保留所有列; # mutate,...包,快捷键ctrl+shift+M 条件或循环 rm(list = ls()) ## 一.条件语句 ###1.if(){ } #### (1)只有if没有else,那么条件是FALSE时就什么都不做...ggpubr::stat_compare_means case_when(x <= 0.0001~"****", x <= 0.001 ~"***", x <=
由于一个知识星球的小伙伴急需学习如何从 PDF 文档中提取表格,所以先插这个课,「使用 R 语言处理 netCDF 数据」系列的课程下次再发新的哈。...本课程介绍了如何使用 R 语言从 WHO(世界卫生组织)的官网上下载新冠疫情的每日报告以及如何从这些报告中的表格里面提取数据。...报告的下载地址为:https://www.who.int/emergencies/diseases/novel-coronavirus-2019/situation-reports/ 这个非常简单,我的思路是直接获取网页中的所有... 标签的 href 属性,然后过滤出链接中含 .pdf 的,最后再用一个循环下载所有的 PDF 文件即可。...", "Days_since_last_reported_case")) %>% mutate(Reporting_Country_Territory_Area = case_when
博客原文:https://suzan.rbind.io/2018/01/dplyr-tutorial-1/ 作者:Suzan Baert 这是一系列dplyr函数中的第二篇文章。...在示例代码中,我们将睡眠数据从以小时为单位的数据更改为分钟。...在这些情况下,我们必须在给出round()指令之前添加列需要为数字的条件,这可以使用mutate_if来完成。 通过使用mutate_if(),我们在管道中需要两个参数: 首先,它需要有关列的信息。...如果要添加另一个数据框的信息,可以使用dplyr中的连接函数。...在前面的示例中,新列“sleep_measure”是一个字符向量。 如果您要进行总结或后续的绘制,则该列将按字母顺序排序。
复习R包stringr字符串操作的几个函数-长度、拆分、提取、字符检测、替换和删除。...if条件语句:如果。。。就。。。2. 脚本项目管理、条件循环2.1 长脚本管理方式2.1.1 不想运行且不想删除的代码:用if函数if(T){...}...2.3 if条件语句控制代码运行elseif(F){}啥都不敢if(F){}elese{}#运行else后的{}中的代码2.4 ifelse函数只有3个参数ifelse(x,yes,no)x:逻辑或逻辑值向量...代码2实现结果和代码1相同2.6 练习library(dplyr)x = c(-1,-1,4,5,2,0)case_when(x>0 ~ "A", x==0 ~ "0",...跟多个条件的两句代码比较看哈!!
zenodo.org/record/4781590#.YSB40Hzivic 论文本地pdf 玉米Science.pdf 附件本地pdf abg5289_Hufford_SM.pdf 今天的推文我们来重复一下论文附件中的...首先是读取数据并查看数据维度 df<-read.csv("numeric_pan_matrix.csv", row.names = 1) dim(df) 宽格式转换为长格式数据 library(dplyr...mutate(x=1:nrow(.)) %>% select(2:27,x) %>% reshape2::melt(,id.vars="x") %>% mutate(pav=case_when...轴的基因顺序没有按照论文中的图排序(这里我不知道他是如何排序的) 这里的新学到的一个知识点是可以给坐标轴的文本添加颜色,虽然会遇到警告信息 image.png 这个警告可以暂时忽略 推文示例数据和代码可以在后台回复20211006获取...从本科开始的T56的硬座,依次体验了T,K的硬卧,D字头硬座和二等卧,G字头的二等座,不知道啥时候可以做到乘坐商务座而不用担心价格的阶段 哈哈哈,那个时候还会焦虑吗?)
使行名成为基因标识符 countdata <- read.table("example/final_counts.txt", header = TRUE, skip = 1, row.names = 1) # 从列标识符中删除...", "", colnames(countdata), fixed = T) # 删除长度字符列 countdata <- countdata[ ,c(-1:-5)] # 查看 ID head(countdata...统计 获取基因数量的基本统计数据 # 使用 FDR 调整 p-values 从检测中获取结果 results <- results(ddsMat, pAdjustMethod = "fdr", alpha...Volcano # 从 DESeq2 结果中收集倍数变化和 FDR 校正的 pvalue ## - 将 pvalues 更改为 -log10 (1.3 = 0.05) data <- data.frame...通路富集 从差异表达基因中寻找通路 通路富集分析是基于单个基因变化生成结论的好方法。有时个体基因的变化是难以解释。但是通过分析基因的通路,我们可以收集基因反应的视图。
标准化:Excel文件(如.xls和.xlsx)是一种广泛接受的文件格式,便于数据共享和协作。...高级查询 使用高级筛选:在“数据”选项卡中选择“高级”,根据条件进行数据筛选。 使用查询:在“数据”选项卡中使用“从表/区域获取数据”进行更复杂的查询。 8....应用样式:使用“开始”选项卡中的“样式”快速应用预设的单元格样式。 11. 数据导入与导出 导入外部数据:使用“数据”选项卡中的“从文本/CSV”或“从其他源”导入数据。...高级筛选 自定义筛选条件:设置复杂的筛选条件,如“大于”、“小于”、“包含”等。 错误检查 追踪错误:找出公式中的错误来源。 错误检查:使用Excel的错误检查功能识别和修复常见错误。...通过dplyr和tidyr包,我们可以轻松地对数据进行复杂的操作。 在R语言中,即使不使用dplyr和tidyr这样的现代包,也可以使用基础包中的函数来完成数据操作。
(x)#字符串长度 ## [1] 42 length(x)#注释str_length(x) 是 stringr 包中的函数,用于计算一个字符串中的字符数(包括空格和标点符号)。...str_sub(x,5,9)#5到9位的字符串 ## [1] "birch" ### 4.字符检测 str_detect(x2,"h")#检测元素中各字符串是否含有关键词,含h的字符串为T,结合ifelse...例如,若要选择数据框df中的列x和y,可以使用以下代码:library(dplyr),df 中的行,它接受一个逻辑条件作为参数,返回符合条件的行...例如,若要选出数据框df中满足条件x>10且y 10 & y 条件组合...is installing" ## [1] "package stringr is installing" #练习7-1---- # 1.读取group.csv,从第二列中提取圈出来的信息 # 2.如何把上一题结果中的
,这些条件是需要同时满足的,另外,条件中取 缺失值的观测自动放弃,这一点与直接在数据框的行下标中用逻辑下标有所不同,逻辑下标中有缺失值会在结果中 产生缺失值。...2.2 sample_n dplyr 包的 sample_n(tbl, size) 函数可以从数据集 tbl 中随机无放回抽取 size 行,如: > d.class %>% sample_n(size...指定变量名时不是写成字符串形式而是直接写变量名: d.class %>% distinct(sex, age) %>% knitr::kable() 如果希望保留数据框中其它列,可以加选项 keep_all...在 dplyr 包的 rename() 中用 “新名字 = 旧名字” 格式修改变量名,如: d2.class % dplyr::rename(h=height, w=weight...extract 除了seperate 外,函数 extract() 可以按照某种正则表达式表示的模式从指定列拆分出对应于正则表达式中捕获组的一列或多列内容。
Dplyr Join two tables join 函数用于根据指定的键将两个数据框连接起来,可以根据共同的变量将数据框进行合并,支持多种连接操作,如内连接、左连接、右连接和外连接等。...Dplyr Rename columns rename 函数用于重命名数据框中的变量名,能够快速修改变量的名称,使得数据的列名更符合用户的需求和习惯。...Dplyr Select keep or drop columns select 函数用于选择数据框中的特定列,可以保留感兴趣的变量,并且能够根据列名、位置或条件表达式进行灵活的变量选择操作。...Dplyr Slice select rows by position slice 函数用于按行数进行切片,能够从数据框中提取特定的行,支持根据行数或行号选择需要的行,也支持使用负数表示从末尾开始计算的行数...Dplyr Filter keep rows that match a condition filter 函数用于根据条件筛选数据行,能够仅保留满足条件的观测,支持根据指定的条件表达式对数据框进行灵活的行筛选操作
需要的包:library(tidyr)library(dplyr)library(stringr)library(tibble)字符串stringr包x 字符串str_sub(x,5,9) #提取从5-9位置的字符串4.字符检测 可以筛选符合条件的元素str_detect(x2,"h") #检测每个位置是否有该字符...str_starts(x2,"T")str_ends(x2,"e")5.字符串替换x2str_replace(x2,"o","A") #只替换每个字符串中第一次匹配到的元素str_replace_all...(test, Sepal.Length) #从小到大,加上引号之后没有报错但也没排序arrange(test, desc(Sepal.Length)) #从大到小# distinct,数据框按照某一列去重复...library(stringr)条件语句1.if(){ } 带有{}表示这一段代码可以被折叠(1)只有if没有else,那么条件是FALSE时就什么都不做运用:下载数据的代码,保留但不反复运行# if
1)安装、加载dplyr包、准备数据 install.packages("dplyr") #加载dplyr包 使用dplyr包处理数据前,建议先将数据集转换为tbl对象。...2)数据记录筛选(行筛选) filter函数:按指定条件筛选符合条件中逻辑判断要求的数据记录。...select(iris,Sepal.Width,Petal.Length,Species) 其他特殊选择,可匹配: select(iris,contains("." )) #选取名称中含有字符的列 区别...,y,by = NULL) #内连接,合并数据仅保留匹配的记录 by设置两个数据集用于匹配的字段名,默认使用全部同名字段进行匹配,如果两个数据集需要匹配的字段名不同,可以直接用等号指定匹配的字段名,如,...11)数据合并 dplyr包中也添加了类似cbind()函数和rbind()函数功能的函数,它们是bind_cols()函数和bind_rows()函数。
="https://mirrors.ustc.edu.cn/bioc/") 先安装,再装载install.packages("dplyr")library(dplyr)(library() : library...如没有参数package即library(),则列出lib.loc指定的库中的所有可用包。library(help=package)将返回package的基本信息。...source() : source使R直接接受来自命名文件、URL或表达式的输入,比如source(“Functions.R”)。...从该文件读取和分析输入,直到到达文件的结尾,然后在选定的环境中按顺序解析表达式。简单来讲,library更像装载,require不会报错,source装载的方式则不太一样。...test1, test2, by = 'x') #全连(行➕列,不算重复)semi_join(x = test1, y = test2, by = 'x') #半连接,与y表匹配的x表所有记录(即以y为条件的
我之前分享过的所有学习笔记都不是从完全零基础开始的,因为没有包含任何的数据结构与变量类型等知识点。...subset函数主要接受三个参数,数据框名称,筛选行,select筛选列。或与且得逻辑表达与上述案例一致。...还有一种更加高级优雅得方式是使用dplyr包中的select和filter函数进行行列索引与切片。...通过指定序号范围来提取行: mydata[1:10] #默认情况下序列范围是针对行切片(字符串默认则是针对列索引) mydata[200:] #切出201个之后的所有记录(Python的数据类型默认从...R语言与Python都接受逻辑表达式:|表示或、&表示且。 R语言默认索引从1开始,Python从0开始(不包含尾部)。
数据选取与简单操作: which 返回一个向量中指定元素的索引 which.max 返回最大元素的索引 which.min 返回最小元素的索引 sample 随机在向量中抽取元素 subset 根据条件选取元素...sort 升序排列元素 rev 反转所有元素 order 获取排序后的索引 table 返回频数表 cut 将数据分割为几部分 split 按照指定条件分割数据 rbind 行合并 cbind 列合并...包 dplyr包的数据合并, 一般用left_join(x,y,by="name") 以x为主,y中匹配到的都放进来, 但,y中没有的则不放过来。...命令是让这两个向量粘合在一起生成新的字符串向量,粘合后的新字符之间没有间隔。...相比来说,其他一些方法要好一些,有dplyr,sqldf中的union 5、sqldf包 利用SQL语句来写,进行数据合并,适合数据库熟悉的人,可参考: R语言︱ 数据库SQL-R连接与SQL语句执行
领取专属 10元无门槛券
手把手带您无忧上云