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

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

2.3 if条件语句控制代码运行elseif(F){}啥都不敢if(F){}elese{}#运行else后{}代码2.4 ifelse函数只有3个参数ifelse(x,yes,no)x:逻辑逻辑向量...yes:逻辑T时返回no,逻辑F时返回ifelse函数和str_detect()函数连用,王炸炸炸!!!...加载test1.Rdata,两个数据框按照probe_id连接在一起,按共同取交集load("test1.Rdata")library(dplyr)merge1 <- merge(dat,ids,...数据分析筛选。表达矩阵:一行是一个基因在所有样品里表达,一是一个样本里所有基因表达。在表达矩阵,寻找在不同组有表达差异基因。...7.5.3 箱线图应用单个基因在两组之间表达量差异可视化。分组信息:是一个有重复离散型向量,分组向量元素和表达矩阵是一一对应

14000

2023.4生信马拉松day7-R语言综合应用

-(2)列表使用不方便——simplify = T简化结果,简化成矩阵 -(3)注意:之前提到过,矩阵某一不能单独转换数据类型,需要把矩阵转换数据框再转换数据类型;或者把这单独提取出来再转换数据类型...()函数【重点】 -(1)三个参数:ifelse(x,yes,no) -(2)x:逻辑逻辑向量 -(3)yes:逻辑为TRUE时返回 -(4)no:逻辑为FALSE时返回 -(5)支持单个逻辑...(x>0,"+","-") 4. ifelse()+str_detect()【王炸】 str_detect()可以检测样本是不是含有某个字符,然后返回逻辑ifelse()对逻辑T/F进行替换 samples...转换数据:把表格转换成两数据 -(1) 第一步:转置 -(2) 第二步:把行名作为一添加到数据(因为ggplot2容易把行名丢掉,所以倾向于把行名作为一) -(3) 第三步:新增一“group...加载test1.Rdata,两个数据框按照probe_id连接在一起,按共同取交集 #2.

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

十二、R语言综合应用

1.4.字符检测 str_detect(x2,"h") ### 看x2这个长度为8向量每个元素是否含有h这个关键词,生成与x2长度相等且一一对应逻辑向量 str_starts(x2,"...(x>0,"+","-") ## 返回结果是TRUE时就替换成第二个位置“+”,返回结果是FALSE时就替换成第三个位置“-” #ifelse()+str_detect(),王炸 ifelse...,s)) } 两组代码生成结果是一样。...# 对列表/向量每个元素(向量)实施相同操作 test <- list(x = 36:33,y = 32:35,z = 30:27);test #返回是列表,对列表每个元素(向量)求均值(...(dplyr) x=arrange(dat,logFC);head(x) # 2.test1.Rdata存放两个数据框连接在一起,按共同取交集 x=merge(dat,ids,by = "probe_id

3.1K30

R语言之 dplyr

下面的命令数据框按照变量 bwt 从小到大进行排序后显示: arrange(birthwt, bwt) # 默认升序 在上面的输出,第 6 行和第 7 行变量 bwt 都是 1588,在这种情况下如果还想将数据框按照第二个变量排序...例如,下面的命令数据框按照变量 bwt 从小到大排序,在 bwt 取值相等情况下再按照第二个变量 age 从小到大排序。...使用 select( ) 选择 函数 select( ) 用于选择数据(变量)。 # 下面的命令选择数据框里面的 bwt、age、race 和 smoke 这 4 个变量组成新数据框。...我们可以用函数 as_tibble( ) 传统数据转换为 tibble,也可以用函数 as.data.frame( ) tibble 转换成传统数据框。..., NA, wt), # 变量wt0和大于99变成NA ht = ifelse(ht == 0 | ht > 300, NA, ht) # 变量ht0和大于300变成

39820

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

全文并非是对数据整理实操整理,主要整理在数据整理/清洗中常用R包介绍 library(tidyr) library(dplyr) library(stringr) library(tibble) 1...str_remove_all(x," ") #删除全部目标字符 2.玩转data.frame--dplyr包 2.1 arrange,数据框按照某一排序,实际参数不能加" " library(dplyr...character.only = T)) install.packages(g,ask = F,update = F) } 4.隐式循环 4.1 apply()族函数 4.1.1 apply 处理矩阵数据框...data.frame第一 ggplot2对行名并不友好,通常要使样本名转化为data.frame第一,防止在后续代码运行过程中行名丢失 图片 图片 step2 把原来行名转变为第一 图片...library(tidyr) library(tibble) library(dplyr) #加载数据整理需要包 dat = t(exp) %>% #matrix进行行列转置 as.data.frame

21700

R数据科学-1(dplyr

忘记保存,白费时间 效率低,时间长 现在,我们学习对处理数据有用两个软件包: dplyr是用于简化表格数据操作软件包。 tidyr使您可以在不同数据格式之间快速转换。...两个软件包命令都可以与管道函数(%>%)很好地配合使用,这可以使代码更具可读性。详细内容可参考Cheatsheet手册。...但是往往会打印出来很长,tidyrtibble就解决了此问题,直接简单看到数据结构及变量类型。...head(mtcars),可以看到数据前面6行,属于数据一个预览。但是看不到各个属性。 %>%管道函数,其实就是f()写在了数据后面,下面示例两个操作,都得到df,效果一样。...只不过 %>%看起来更简单mtcars赋予新tibble。 df以后输出,很简洁,能看到32*11数据行与,也能看到各属性。

1.6K20

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

如果你数据已经存储在一个外部文件(如CSV、ExcelRData),你需要使用适当R函数(如read.csv(), readxl::read_excel(), load()等)将其加载到R环境...()等函数)进行变量选择(使用子集选择dplyrselect()函数)。...(变量水平数减1)和残差自由度(观察总数减1和自变量水平数减1); Sum Sq显示平方和(即组均值与总体均值之间总变化)。...;Mean Sq是平方和平均值,通过平方和除以每个参数自由度来计算;F value是F检验检验统计量。这是每个自变量均方除以残差均方。...函数TukeyHSD(one.way)该结果给出每个两组之间结果;diff: 两组均值之差;Lwr, upr: 95%置信区间下限和上限(默认) ;P adj: 多次比较调整后P

18310

生信技能树- R语言-day7

(x," ")) #确认是什么数据组合类型x2 = str_split(x," ")[[1]];x2 #是list 所以用[[]]y = c("jimmy 150","nicker 140","tony...(x," ")str_remove_all(x," ")玩转数据框arrange,数据框按照某一排序sort是给向量排序library(dplyr)arrange(test, Sepal.Length...elseif(一个逻辑,不可以是多个逻辑组成向量){code1} else{code2}如果逻辑是FALSE,就执行else里codeifelse支持单个逻辑,也支持多个逻辑组成向量...else2, ifelse(,,ifelse)在ifelse里加一个ifelse补充 case_when练习题1.加载deg.Rdata,根据a、b两,按照以下条件生成向量x:load("deg.Rdata...对列表/向量每个元素实施相同操作lapply(1:4,rnorm)两个数据链接merge可以合并inner_join:交集都存在取inner_join(test1,test2,by="name

7400

5R语言综合运用

R语言中,select函数用于选择数据,可以使用列名或者向量来指定要选择。...例如,若要选择数据框dfx和y,可以使用以下代码:library(dplyr),df <- select(df, x, y),filter函数用于筛选数据行,它接受一个逻辑条件作为参数,返回符合条件行...这两个函数都用于字符串转换为小写字母,但是它们有以下区别:库依赖:str_to_lower()需要先安装和加载stringr包,而tolower()是R内置函数,不需要任何额外库。...输入类型:str_to_lower()仅适用于字符向量字符串标量,而tolower()可以应用于所有字符数据类型,例如字符向量、字符串标量、因子等。...总的来说,两个函数都可以用于字符串转换为小写字母,但str_to_lower()更具特定性,而tolower()则更通用且直接可用。

2.3K00

跟小洁老师学习R语言第七天

xstr_length(x)#检测字符串内字符数,空格也算length(x)#向量里面元素个数2.字符串拆分str_split(x," ")#以空格为分隔符号字符串拆分开x2 = str_split...(dplyr)arrange(test, Sepal.Length) #从小到大arrange(test, desc(Sepal.Length)) #从大到小,没有increasedistinct,数据框按照某一去重复...explibrary(tidyr)library(tibble)library(dplyr)dat = t(exp) %>% #转置 as.data.frame() %>% #转换数据框架 rownames_to_column....lapply(list, FUN, …) # 对列表/向量每个元素(向量)实施相同操作test <- list(x = 36:33,y = 32:35,z = 30:27);test#返回是列表...,对列表每个元素(向量)求均值(试试方差var,分位数quantile)lapply(test,mean)lapply(test,fivenum)#3.sapply 简化结果,返回矩阵向量sapply

1.5K10

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

Sepal.Length) #按照一顺序所有数据框从小到大排序,列名不带引号, arrange(test, desc(Sepal.Length)) #从大到小 排序 图片 图片 2.distinct...list,使用下标循环,可以每次循环结果都保存到列表 ## cbind 按拼接 a = rnorm(10) b = 1:10 cbind(a,b) ##do.call() 函数是对列表 list...() %>% #表达矩阵转换数据框 rownames_to_column() %>% #行名变成一 mutate(group = rep(c("control","treat"),each...= 3)) ##给数据添加一分组 ##最终生成作图过程中间转换数据框dat 图片 pdat = dat%>% pivot_longer(cols = starts_with("gene...),右表多余数据舍去,没有的数据显示缺失 right_join(test1,test2,by="name") ##右连接,以右侧行为准构成新数据框(第二个写数据框),左表多余数据舍去

2.5K30

阿榜生信笔记7—R语言综合运用1

= T),这行代码是用来从数据框test筛选出不重复Species,并保留所有数据。...* Sepal.Width):这段代码使用了mutate函数,test数据集中新增一个名为new,该为Sepal.Length×Sepal.Width。...filter()函数是用于从数据框(data.frame)数据集(dataset)筛选出符合特定条件行。...5(即最后一)之外所有,然后结果转换成矩阵(as.matrix),接着再选出前50行(head函数),最后使用pheatmap包pheatmap函数绘制热图。...③、if条件语句进阶 原理: ④、ifelse函数 原理如图所示:简单直接 下面这张图是运用到生信数据清洗,很重要,大家用心去理会吧?

64600

生信马拉松 Day7

arrange(),数据框按照某一排序 library(dplyr) a=arrange(test, Sepal.Length) #从小到大 b=arrange(test, desc(Sepal.Length...#新增列名为new,为Sepal.Length * Sepal.Width 2.4 管道符 #原始代码 x1 = select(iris,-5) #选择除了第5iris数据集 x2 = as.matrix...,不可以是多个逻辑组成向量 } #if+else格式 if (){ }else{ } #ifelse格式 ifelse( , ,) #第一个逗号前是逻辑 #for格式 for(){...0") 4.隐式循环 碎碎念:这个玩意儿是真好用,但是学了很多遍还是不进脑子 rm(list = ls()) # 1.apply 处理矩阵数据框 apply(X, MARGIN, FUN, …) #...2种方法 2.如何把数据框某“ ”转换为NA iris$Species[iris$Species=='']=NA 3.如何删除多余信息 #这里示例数据,a$tumor_stage.diagnoses

23300

R语言综合应用-1

例如 y=c("nihaoa 11","niyehaoa 22","zhangsongwen 33")向量:y字符串:一个引号内所有东西 “nihaoa 11” 字符:引号内单个字母/数字...#这是一个字符串x#2.字符串拆分str_split(x," ") #以空格为分割符号字符串拆分开,这个函数输出结果是一个列表x2 = str_split(x," ")[[1]];x2 #​y...#1.arrange,数据框按照某一排序library(dplyr)arrange(test, Sepal.Length) #从小到大arrange(test, desc(Sepal.Length))...#从大到小#2.distinct,数据框按照某一去重复distinct(test,Species,.keep_all = T)类似与unique(给向量去重复)#3.mutate,数据框新增一mutate...x为逻辑逻辑向量;yes为逻辑为TRUE时返回;no为逻辑为FALSE时返回​例如:x = rnorm(3)xifelse(x>0,"+","-")#3ifelse()+str_detect

88800

这些逻辑运算符你都使用正确了吗?

目录 1 基本逻辑运算符 2 异(xor) 3 all()和any() 4 实例拆解:如何筛选非零? ---- 正文 1 基本逻辑运算符 注:这里数学运算符也整理了一下,权当回顾一下。...2点 (1)逻辑TRUE和FALSE可以缩写为T和F(两者都必须大写);在算术表达式,它们会转换为1和0。...上表逻辑“与”【&】和逻辑“”【 | 】是对向量逻辑运算(虽然单个标量也适用),但其返回结果是逻辑向量,是对逻辑运算每一组元素进行逻辑运算后返回结果。...all(x==0)) #对x数据库做操作,判断每一所有元素是否为0,,然后渠非"!"...注图片来自于tidyverse网站:https://www.tidyverse.org/ 示例3:自建函数 + ifelse 来自拴小林(这个确实自己被搞复杂了 ) #---生成包含全0数据集———

99720
领券