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

R语言基础5(绘图基础)

可用于向量取子集; str_replace(x,"o","a")#将x中的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," ")...,作为他的第一个参数 #用之前需要加载stringr包或dplyr包,快捷键ctrl+shift+M 条件或循环 rm(list = ls()) ## 一.条件语句 ###1.if(){ } ##...(i>0,"+","-") ifelse(x,yes,no) x:逻辑值或逻辑向量; yes:逻辑值为TRUE时的返回值 no:逻辑值为FALSE时的返回值 x = rnorm(3) x ifelse...#x是数据框或者矩阵 #margin为行则是1,margin为列是2; #fun为函数 #apply(test,2,mean) #对test的每一列求平均值 sort(x) #对x从小到大排序 head

35871

如何使用Excel将某几列有值的标题显示到新列中

如果我们有好几列有内容,而我们希望在新列中将有内容的列的标题显示出来,那么我们怎么做呢? Excel - TEXTJOIN function 1....- - - - 4 - - - 在开始,我们曾经使用INDEX + MATCH的方式,但是没有成功,一直是N/A https://superuser.com/questions/1300246/if-cell-contains-value-then-column-header...所以我们后来改为TEXTJOIN函数,他可以显示值,也可以显示值的标题,还可以多个列有值的时候同时显示。...- - 4 - - - 15 Year 5 - - - - 5 - - - =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),$B$1:$I$1,"")) 如果是想要显示值,...则: =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),B2:I2,"")) 其中,ISNUMBER(B2:I2)是判断值是不是数字,可以根据情况改成是不是空白ISBLANK

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

    R语言综合应用

    = T)# distinct,数据框按照某一列去重复 3.数据框新增一列(另一种方法)mutate() mutate(test#数据名,新的列名= Sepal.Length * Sepal.Width...不支持逻辑值组成的向量 yes:逻辑值位TRUE的返回值 , no:逻辑值为FALSE的返回值 for循环 for(i in x){code} x:指变量名称,只要是一个向量即可 i :代称,比如第一次循环则代表...#矩阵/数据框的隐式循环 x:数据框/矩阵名 margin:1表示行,2表示列 fun:代表函数。...对x的每一行/列进行fun这个函数 test<- iris[1:6,1:4] apply(test, 2, mean) #对test的每一列求平均值 lappy()#列表的隐式循环 test <- list...),以此为规则将x分组 drop: 逻辑值,如果f中的某一个level没有用上则被弃用 value: 一个储存向量的list,其形式类似于分组完成之后返回的那个list 自己将数字赋予因子水平 > x

    11000

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

    list,使用下标循环,可以将每次循环的结果都保存到列表中 ## cbind 按列拼接 a = rnorm(10) b = 1:10 cbind(a,b) ##do.call() 函数是对列表 list...操作的函数,批量操作 图片 图片 分批次将运行结果保存为R.data格式便于管理数据 图片 大段代码暂时不运行可以进行折叠,并加入一个if 判断或者注释掉 表达矩阵箱线图 表达矩阵 R 语言作图要求将宽数据的表达矩阵转变成长数据后昨天...rownames_to_column() %>% #将行名变成一列 mutate(group = rep(c("control","treat"),each = 3)) ##给数据添加一列分组列...names_to = "gene", ##新的列的名字 values_to = "count") ## 把原来列中的数值一一对应形成一个新的数值列...(第一个写的数据框),右表中多余的数据舍去,没有的数据显示缺失值 right_join(test1,test2,by="name") ##右连接,以右侧的表的行为准构成新的数据框(第二个写的数据框),左表中多余的数据舍去

    2.5K30

    十二、R语言的综合应用

    ###没有赋值,所以修改后的test还是5列 图片 2.4 连续的步骤 select() 筛选列 filter() 筛选行 2.4.1.多次赋值,产生多个变量 x1 = filter(iris,Sepal.Width...(x>0,"+","-") ## 返回的结果是TRUE时就替换成第二个位置的值“+”,返回的结果是FALSE时就替换成第三个位置的值“-” #ifelse()+str_detect(),王炸 ifelse...names_to = "gene", ### 给合并后的列命名为gene values_to = "count") ### 这几列的数值也要合并为一列,并且命名为...### show_rownames =F 隐藏行名, 5.2 lapply(list, FUN, …) 列表的隐式循环 # 对列表/向量中的每个元素(向量)实施相同的操作 test 条件生成向量x: # a的值为down; # a>1 且b的值为up; # 其他情况,x对应的值为no # 统计up、down、no各重复了多少次

    3.1K30

    R语言的综合应用-1

    * Sepal.Width)注意,这样操作结束后,test还是原来的列数,因为没有给新的赋值。...在R语言的世界里,没有赋值就是没有发生过。#补充select()、filter() 筛选列、行类似于之前的$,[]#管道符号(%>%),表示把前一步的运算结果传递给后一步的函数,不需要多次赋值。...iris %>% filter(Sepal.Width>3) %>% select(Sepal.Length,Sepal.Width)%>% arrange(Sepal.Length)三、条件和循环...x为逻辑值或逻辑值向量;yes为逻辑值为TRUE时的返回值;no为逻辑值为FALSE时的返回值​例如:x = rnorm(3)xifelse(x>0,"+","-")#3ifelse()+str_detect...}或者ifelse(i>0,"+",ifelse(i循环:对x向量里的每个元素i进行同一操作for(i in x){CODE}​例如x <- c(5,6,0,3)s=0for

    93200

    生信技能树- R语言-day7

    ,数据框按照某一列去重复unique 给向量去掉重复duplicated 判断是否发生了重复(逻辑值关系,遇到第二次就变成ture)distinct(test,Species,.keep_all = T...duplicated(mm)] 提取没有重复的第一次出现的mutate,数据框新增一列mutate(test, new = Sepal.Length * Sepal.Width) new是新产生的列名新加之后...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...把行名变成一列4. “宽”变成“长”把格式变成类似于 ggplot2的形式,一列作为x,一列作为y5.

    10400

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

    ),不可以是多个逻辑值组成的向量; -(2)当逻辑值为TRUE时执行大括号内的代码,如果为FALSE就不执行; -(3)如果要执行的代码只有一行可以不加大于号; -(4)实例:安装R包的满分操作——根据一个包是否已安装来决定要不要安装这个包...} ifelse(i>0,"+",ifelse(i的ifelse:不符合大于零的条件,就再进行一步判断; 练习7-2 # 1.加载deg.Rdata,根据a、b两列的值...(k1,"down",ifelse(k2,"up","no")) table(x) 6. for循环 for (i in x ) {某段代码/某种操作} 注:x 是环境中真实存在的变量,i 只是循环里的代称...转换数据:把表格转换成两列数据 -(1) 第一步:转置 -(2) 第二步:把行名作为一列添加到数据中(因为ggplot2容易把行名丢掉,所以倾向于把行名作为一列) -(3) 第三步:新增一列“group...;对行循环继承行名,对列循环继承列名; -(2)用apply()批量画图 par(mfrow = c(2,2)) apply(iris[,1:4], 2, plot) #如果有写不下的参数,可以继续写在

    3.6K80

    生信入门马拉松之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()函数连用,王炸炸炸!!!..., sum)#对test每一行求和向量/列表的隐式循环-lapply,批量操作### 2.lapply(list, FUN, …) # 对列表/向量中的每个元素实施相同的操作lapply(1:4,rnorm...表达矩阵需要变化3.2.1 初始的表达矩阵:3.2.2 转置(行变列,列变行)3.2.3 把原来的行名变成第一列3.2.4 变形(宽变长)一定要先单独学会某个包/函数,才能应用它吗?不一定!...表达矩阵:一行是一个基因在所有样品里的表达,一列是一个样本里所有基因的表达。在表达矩阵中,寻找在不同组有表达差异的基因。

    19000

    WGCNA实战—急性心肌梗死的 NETosis 模式与免疫特点的综合分析(一)

    ,手动转 #ids1,2可以用这个流程跑,写个循环吧 for(i in 1:2){ #这两句是把idsi赋给ids,expi赋给dat,下面的循环使用ids和dat进行 get(paste0(...列名为median,同时对dat这个矩阵按行操作,取每一行的中位数,将结果给到median这一列的每一行 ids=ids[order(ids$symbol,ids$median,decreasing...为否,即取出不重复的项,去除重复的gene ,保留每个基因最大表达量结果 dat=dat[ids$probe_id,] #新的ids取出probe_id这一列,将dat按照取出的这一列中的每一行组成一个新的...dat rownames(dat)=ids$symbol#把ids的symbol这一列中的每一行给dat作为dat的行名 dat[1:4,1:4] #保留每个基因ID第一次出现的信息...#这两句是将跑好的ids和dat赋给idsi和expi assign(paste0("ids",i),ids) assign(paste0("exp",i),dat) } #检查 exp1[1

    31210

    R语言学习笔记-Day6

    test$Sepal.Width#该语句运行完数据框列数即增加无需赋值2.4 筛选列、行select() #筛选列filter() #筛选行2.5 管道符号x1 = select(iris,-5)...#反选,筛选除第5列外的数据x2 = as.matrix(x1)x3 = head(x2,50) #截取前端行(前50行)heatmap(x3)-->嵌套heatmap(head(as.matrix(select...#管道符号快捷键“Ctrl”+“shift”+“M”3 条件和循环*3.1 if语句if(1){ }1:为一个逻辑值,不能为多个逻辑值组成的向量#若为T,则继续执行后续语句;若为T,则不继续执行长脚本管理方式...)#x:逻辑值或逻辑值向量#yes:逻辑值为T时的返回值#no:逻辑值为F时的返回值i = 1ifelse(i>0,"+","-")1 "+"多个条件仍适用ifelse(i>0,"+",ifelse(i...k2,"tumor","normal")3.4 for循环for(i in x){CODE}#对x中的每个元素i执行相同的代码CODE#有几个元素则执行几次,函数本身不存在判断条件,可自行添加其它函数进行判断

    17400

    Learn R 专题1-3

    因为没有赋值 > test$new=test$Sepal.Length*test$Sepal.Width #以这种方式才是真正的添加新的一列 -------注意:R语言中的修改,都要赋值,没有赋值就没有发生过...()函数 ifelse(x,yes,no) x:逻辑值或逻辑值向量; yes:逻辑值为T时的返回值; no:逻辑值为F时的返回值 i = 1 ifelse(i>0,"+","-") > ifelse...,按照以下条件生成向量x: #a的值为down; #a>1 且b的值为up; #其他情况,x对应的值为no #统计up、down、no各重复了多少次...14 #do.call 将列表里的元素进行批量的操作;cbind是按列拼接起来(向量长度得是相同的) 长脚本管理方式 if(T){} #运行{}中的代码;可折叠 if(F){} #跳过{}中的代码...#X 是数据框/矩阵名;MARGING为1表示行;为2表示列,FUN是函数 ;对x的每一行/列进行FUN这个函数;...用于写函数的参数 > test<- iris[1:6,1:4] > apply(test

    1.5K00

    R语言中 apply 函数详解

    因此,让我们首先创建一个简单的数值矩阵,从1到20,分布在5行4列中: data <- matrix(c(1:20), nrow = 5 , ncol = 4) data ? 这就是我们矩阵的样子。...这里, X是指我们将对其应用操作的数据集(在本例中是矩阵) MARGIN参数允许我们指定是按行还是按列应用操作 行边距=1 列边距=2 FUN指的是我们想要在X上“应用”的任何用户定义或内置函数 让我们看看计算每行平均数的简单示例...'中的每个值,将x2,x3作为其他参数,这些参数将首先声明,然后通过apply函数传递: b = 2 c = 1 # apply along each row: row_fn 将创建一个新变量,该变量包含V1列和V3列的乘积: mapply(function(x, y) x/y, df$V1, df$V3) ?...类似地,我们可以获得数据框中每个物种的每列的摘要值: tapply(iris_df$Sepal.Width, iris_df$Species, mean) ?

    20.5K40

    R语言基础提升与总结

    if条件语句和for循环语句看懂代码在干什么即可!...}重点 ifelse函数ifelse(x,yes,no)x:逻辑值或者逻辑值向量yes:逻辑值为TRUE时的返回值no:逻辑值为FALSE时的返回值ifelse函数支持单个逻辑值,也支持多个逻辑值组成的向量...{ print('0')} else if (iifelse(i>0,"+",ifelse(i循环语句3.2.1 对向量中的每一个元素进行循环对...,按列拼接成为一个矩阵 do.call完成批量操作4 表达矩阵画箱线图4.1 表达矩阵的概念基因表达的数据通常使用表达矩阵来表示其中矩阵的行代表某个基因在不同样本(不同处理,或时间点等)中的表达水平列表示某个样本中各个基因的表达水平...5.1 矩阵/数据框的隐式循环——applyapply(X,MARGIN,FUN…)X:数据框/矩阵名称MARGIN:取值=1表示行;取值=2表示列FUN:具体函数对X的每一行/每一列进行FUN这个函数

    18310

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

    , new = Sepal.Length * Sepal.Width) #R中的修改必须要赋值,不赋值=没发生 test 2.4 连续步骤的不同方法 2.4.1 多次赋值,产生多个中间的变量 x1...(条件>,,) x = rnorm(3) x ifelse(x>0,"+","-") ★★★★★ifelse()+str_detect(),条件筛选的王炸组合★★★★★...data.frame中的第一列 ggplot2对行名并不友好,通常要使样本名转化为data.frame中的第一列,防止在后续代码运行过程中行名丢失 图片 图片 step2 把原来的行名转变为第一列 图片...>% #将行名转化为1列 mutate(group = rep(c("control","treat"),each = 3)) #对data.frame新增一列分组信息 # 宽变长操作 pdat...#是b的下标,可以给b取子集,也可以给与b对应的其他向量取子集。

    23900

    R in action读书笔记(2)-第五章:高级数据管理

    5.4 控制流  语句(statement)是一条单独的R语句或一组复合语句(包含在花括号{ } 中的一组R语 句,使用分号分隔);  条件(cond)是一条最终被解析为真(TRUE)或假(FALSE...5.4.1重复和循环 1.for结构 循环重复地执行一个语句,直到某个变量的值不再包含序列seq中为止 语法:for(var in seq) statement 2.while结构 循环重复地执行一个语句...对于后者,行名将成为变量(列)名。 5.6.2整合数据 在R中使用一个或多个by变量和一个预先定义好的函数来折叠(collapse)数据是比较容易的。...调用格式为:aggregate(x,by,FUN) 其中x是待折叠的数据对象,by是一个变量名组成的列表,这些变量将被去掉以形成新的观测, 而FUN则是用来计算描述性统计量的标量函数,它将被用来计算新观测中的值...1、 融合 数据集的融合是将它重构为这样一种格式:每个测量变量独占一行,行中带有要唯一确定这个测量所需的标识符变量。

    79120
    领券