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

R语言基础提升与总结

if条件语句和for循环语句看懂代码在干什么即可!...3.1 if条件语句如果……就……if(一个逻辑值,不可以是逻辑值组成的向量){ }TRUE 执行FALSE 不执行如果……就……否则……if(一个逻辑值,不可以是逻辑值组成的向量){ }else{...}重点 ifelse函数ifelse(x,yes,no)x:逻辑值或者逻辑值向量yes:逻辑值为TRUE时的返回值no:逻辑值为FALSE时的返回值ifelse函数支持单个逻辑值,也支持多个逻辑值组成的向量...{ print('0')} else if (iifelse(i>0,"+",ifelse(i语句3.2.1 对向量中的每一个元素进行循环对...") #列出工作目录下以.R结尾的文件 $表示以……结尾dir(pattern = ".R") file.create("douhua.txt") #用代码创建文件file.exists("douhua.txt

18310

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

我致力于通过笔记,将生物信息学知识分享给更多的人。如果有任何纰漏或谬误,欢迎指正。让我们一起加油,一起学习进步鸭? 这份学习目录可以让大家更容易地了解笔记里面的内容哦?...2 = str_split(x," ")[1];x2,这段代码将字符串 x 以空格为分隔符分成多个部分,并将第一个部分赋值给变量 x2。然后将 x2 的值返回。...str_starts函数检查x2字符串是否以字母"T"开头,返回一个逻辑值。 str_ends函数检查x2字符串是否以字母"e"结尾,返回一个逻辑值。...* Sepal.Width):这段代码使用了mutate函数,将test数据集中新增一个名为new的列,该列的值为Sepal.Length×Sepal.Width。...答案:6列,代码运行的结果赋值给test了 所以经典名言第三次出现了,大家熟记于心?

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

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

    ; -(2)当逻辑值为TRUE时执行大括号内的代码,如果为FALSE就不执行; -(3)如果要执行的代码只有一行可以不加大于号; -(4)实例:安装R包的满分操作——根据一个包是否已安装来决定要不要安装这个包...ifelse:不符合大于零的条件,就再进行一步判断; 练习7-2 # 1.加载deg.Rdata,根据a、b两列的值,按照以下条件生成向量x: #a值为down; #...——现学就行~ # 生成一个表达矩阵 set.seed(10086) #为了让模拟分析的结果可重现,给rnorm设计一个随机数种子,保证它每次生成的随机数都是那一组; exp = matrix(rnorm...",1:3) colnames(exp) = paste0("test",1:6) exp[,1:3] = exp[,1:3]+1 #给exp的1-3列加一 exp 关于set.seed():可以把它理解为给生成的随机数序列一个编号...加载test1.Rdata,将两个数据框按照probe_id列连接在一起,按共同列取交集 #2.

    3.6K80

    R语言学习笔记-Day6

    R语言的综合应用tidyverse:集成化R包转换-可视化-模型1 字符串"stringr"str_length()str_split()str_sub()1.1 检测字符串长度str.length()...test$Sepal.Width#该语句运行完数据框列数即增加无需赋值2.4 筛选列、行select() #筛选列filter() #筛选行2.5 管道符号x1 = select(iris,-5)...if(1){ }1:为一个逻辑值,不能为多个逻辑值组成的向量#若为T,则继续执行后续语句;若为T,则不继续执行长脚本管理方式*1if(F){...} #{}内所有代码被跳过if(T){......} #{}内代码执行#针对限速步骤可以将限速步骤保存为.Rdata,之后加载该文件即可#下载数据的代码,可保留但不反复运行*2分成多个脚本,每个脚本最后保存.Rdata,下一个脚本开头清空再加载为什么保存为...)#x:逻辑值或逻辑值向量#yes:逻辑值为T时的返回值#no:逻辑值为F时的返回值i = 1ifelse(i>0,"+","-")1 "+"多个条件仍适用ifelse(i>0,"+",ifelse(i

    17400

    R语言综合应用

    3.数据框新增一列(另一种方法)mutate() mutate(test#数据名,新的列名= Sepal.Length * Sepal.Width) deg <-mutate(deg,probe_id...(x1, Sepal.Length,Sepal.Width) x3 = arrange(x2,Sepal.Length) 3.条件语句和循环语句 if语句 if(){code1} eles{code2}...##括号里是一个逻辑值,T时,code1被执行,F则跳过code1,什么都不执行/执行code2(在有eles的情况下,eles相当于否则的意思) > x = rnorm(3) ifelse(x>0,...不支持逻辑值组成的向量 yes:逻辑值位TRUE的返回值 , no:逻辑值为FALSE的返回值 for循环 for(i in x){code} x:指变量名称,只要是一个向量即可 i :代称,比如第一次循环则代表...),以此为规则将x分组 drop: 逻辑值,如果f中的某一个level没有用上则被弃用 value: 一个储存向量的list,其形式类似于分组完成之后返回的那个list 自己将数字赋予因子水平 > x

    11000

    生信入门马拉松之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 一个有重复值的离散型向量五条线:箱体越扁,数据重复性好,箱体越大,数据越分散。...分组信息:是一个有重复值的离散型的向量,分组向量的元素和表达矩阵的列是一一对应的。

    19000

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

    str_split 字符串拆分 x <- "The birch canoe slid on the smooth planks." x ### 2.字符串拆分 str_split(x," ") #函数将一个向量拆分成一个列表了...x3 = arrange(x2,Sepal.Length) ##按照Sepal.Length给x2排序 # 2.管道符号传递,简洁明了,代码易读 x = iris %>% ##%>%表示传递,一次作为后一个函数的第一个参数...R.data格式便于管理数据 图片 大段代码暂时不运行可以进行折叠,并加入一个if 判断或者注释掉 表达矩阵箱线图 表达矩阵 R 语言作图要求将宽数据的表达矩阵转变成长数据后昨天 # 表达矩阵 set.seed...rownames_to_column() %>% #将行名变成一列 mutate(group = rep(c("control","treat"),each = 3)) ##给数据添加一列分组列...names_to = "gene", ##新的列的名字 values_to = "count") ## 把原来列中的数值一一对应形成一个新的数值列

    2.5K30

    R语言入门系列之三:R脚本

    for循环重复执行一个语句,直到value值不再包含在向量vector中为止,for结构的基本语法如下所示: for (value in vector) { statements } 例如我们想要将群落数据小数值转换成百分值...switch根据一个表达式的值选择语句执行,如下所示: switch(expression, case1, case2, case3....)...如果simplify="array",结果将返回一个数组。举例如下: 4自定义函数 用户可以根据需求自定义函数,R函数是通过使用关键字function来创建。...它被存入R环境作为一个对象使用此名称。 # arg:参数是一个占位符。当调用一个函数,传递一个值到参数。参数是可选的,也就是说,一个函数可以含有任何参数。此外参数可以有默认值。...# Function body:函数体包含定义函数是使用来做什么的语句集合。 # return:一个函数的返回值是在函数体中评估计算最后一个表达式的值。

    3.7K20

    R语言专题3-条件和循环

    专题3.条件和循环1.条件语句-if(){}1.1 只有if# if()里的内容一定得是逻辑值,可以是你写上的T和F,也可以是运算结果# 若运算结果为T或者你写上了T,他就会执行后续语句,反之则不执行#...# 3个参数# ifelse(x,yes,no)# x:逻辑值或者逻辑向量;yes:逻辑值为T时的返回值;no:逻辑值为F时的返回值# 简单示范i = 1ifelse(i>0,'+','-')## [1..." "-" "+"# 与字符检测函数str_detect()进行连用,用之前别忘记加载R包library(stringr)# 1.随便生成一个向量,取名样本。...写i = 0ifelse(i>0,"+",ifelse(iR包dplyrlibrary...print(i) # 看下输出结果大家就应该知道啥意思了}## [1] 1## [1] 2## [1] 3## [1] 4# 循环画图-以内置数据iris为例par(mfrow = c(2,2)) # 将画板变成两行两列

    24530

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

    列名为median,同时对dat这个矩阵按行操作,取每一行的中位数,将结果给到median这一列的每一行 ids=ids[order(ids$symbol,ids$median,decreasing...duplicated(ids$symbol),]#将symbol这一列取取出重复项,'!'...为否,即取出不重复的项,去除重复的gene ,保留每个基因最大表达量结果 dat=dat[ids$probe_id,] #新的ids取出probe_id这一列,将dat按照取出的这一列中的每一行组成一个新的...#这两句是将跑好的ids和dat赋给idsi和expi assign(paste0("ids",i),ids) assign(paste0("exp",i),dat) } #检查 exp1[1...确定软阈值要在「无标度拓扑准则」和「平均连通性之间」进行权衡,一个可以参考的标准是选择无标度拓扑R^2在0.8以上的第一个β值,因为平均连通性是β的单调递减函数。

    31310

    Learn R 专题1-3

    > distinct(test,Species,.keep_all = T) #按照species这一列去重复,只保留第一次出现的值 .keep_all = T(把其余的列对应的值都保留下来) Sepal.Length...因为没有赋值 > test$new=test$Sepal.Length*test$Sepal.Width #以这种方式才是真正的添加新的一列 -------注意:R语言中的修改,都要赋值,没有赋值就没有发生过...将两个数据框按照probe_id列连接在一起 练习7-2 1.读取group.csv,从第二列中提取圈出来的信息 > a=read.csv(".....()函数 ifelse(x,yes,no) x:逻辑值或逻辑值向量; yes:逻辑值为T时的返回值; no:逻辑值为F时的返回值 i = 1 ifelse(i>0,"+","-") > ifelse...14 #do.call 将列表里的元素进行批量的操作;cbind是按列拼接起来(向量长度得是相同的) 长脚本管理方式 if(T){} #运行{}中的代码;可折叠 if(F){} #跳过{}中的代码

    1.5K00

    Java中多个ifelse语句的替代设计

    概述 ifelse是任何编程语言的重要组成部分。但是我们编写了大量嵌套的if语句,这使得我们的代码更加复杂和难以维护。 接下来,让我们探索如何简化代码的中的ifelse语句写法。...此外,当存在复杂条件时,switch语句不适合。 拥有嵌套决策结构的另一个副作用是它们变得难以管理。例如,如果我们需要添加一个新的运算符,我们必须添加一个新的if语句并实现该操作。...这样可以减少嵌套if语句的数量,并将责任委托给单个Enum值。 让我们看看我们如何实现它。...我们总是可以选择在嵌套的if语句或switch case中使用这些值作为不同的条件,但让我们设计一种将逻辑委托给Enum本身的替代方法。 我们将为每个Enum值定义方法并进行计算。...我们还可以设计一个Calculator#calculate方法来接受可以在输入上执行的命令。这将是替换嵌套if语句的另一种方法。

    3.4K40

    R语言的综合应用-1

    #这是一个字符串x#2.字符串拆分str_split(x," ") #以空格为分割符号将字符串拆分开,这个函数输出的结果是一个列表x2 = str_split(x," ")[[1]];x2 #​y...distinct(test,Species,.keep_all = T)类似与unique(给向量去重复)#3.mutate,数据框新增一列mutate(test, new = Sepal.Length...* Sepal.Width)注意,这样操作结束后,test还是原来的列数,因为没有给新的赋值。...在R语言的世界里,没有赋值就是没有发生过。#补充select()、filter() 筛选列、行类似于之前的$,[]#管道符号(%>%),表示把前一步的运算结果传递给后一步的函数,不需要多次赋值。...x为逻辑值或逻辑值向量;yes为逻辑值为TRUE时的返回值;no为逻辑值为FALSE时的返回值​例如:x = rnorm(3)xifelse(x>0,"+","-")#3ifelse()+str_detect

    93200

    biotrainee note 6

    R语言的综合应用推荐《R数据科学》这本书,对写代码很有帮助专题1 玩转字符串x 将元素中的“o”替换成“A”,但如果连续遇到只替换第一个str_replace_all(x2,"o","A") ## 将元素中所有的“o”均替换成“A”### 6.字符删除xstr_remove...) #将“Sepal.Length”列从小到大排序,并扩展到其他列,会将排序的结果返回至数据框。...就if(一个逻辑值){一段代码} ,只有这个逻辑值为true才执行后面的代码长脚本的管理下载数据的代码,保留但不反复运行长脚本的管理方式:用Rdata来衔接为什么用Rdata而不是表格文件来衔接if条件语句...ifelse函数ifelse()+str_detect(),王炸for循环for( i in 1:4){print(i)}#批量画图par(mfrow = c(2,2))for(i in 1:4){plot

    6000

    数据处理第2节:将列转换为正确的形状

    它涵盖了操纵列以便按照您希望的方式获取它们的工具:这可以是计算新列,将列更改为离散值或拆分/合并列。...使用ifelse(),首先指定一个逻辑语句,然后在语句返回“TRUE”时需要发生什么,最后如果它是“FALSE”则需要发生什么。...两个level) ifelse()语句可用于将数字列转换为离散列。...连接本身就是一个章节,但在这种特殊情况下你会做一个left_join(),即保持我的主表(在左边),并从另一个向右添加列。 在by =语句中,您指定哪些列相同,因此连接知道要添加的位置。...在这种情况下,我们有3列描述时间度量。 对于某些分析和图表,可能有必要将它们合二为一。 gather函数需要您为新的描述性列指定名称(“key”),并为值列指定另一个名称(“value”)。

    8.1K30
    领券