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

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

.检测字符串长度 str_length(x) #计算字符串中有多少字符 length(x) #计算向量中元素的个数 图片 图片 2. str_split 字符串拆分 x <- "The birch...(y," ",simplify = T) ##加入参数后,可以将字符串拆分成矩阵 图片 3. str_sub 位置提取字符串 x <- "The birch canoe slid on the smooth...str_split(x," ") x2 = str_split(x," ")[[1]];x2 ### 4.字符检测 str_detect(x2,"h") ##用来检测元素中的字符,生成与向量元素相等的逻辑值向量...可以用来进行分组,通过str_detect函数识别数据中的关键词,然后进行分组 samples = c("tumor1","tumor2","tumor3","normal1","normal2","...mutate(group = rep(c("control","treat"),each = 3)) ##给数据添加一分组 ##最终生成作图过程中间的转换的数据框dat 图片 pdat = dat

2.5K30

R语言系列第一期(番外篇 ):R的6种对象—向量、矩阵、数组、因子、列表、数据框

(单个向量内元素类型必须一致) 数值向量: > c(1,2,3,4,5,6,7) [1] 1 2 3 4 5 6 7 字符向量字符向量使用单引号和双引号都可以,但是每个对称的引号必须一致): > c(...#Tips:c()可以嵌套c(),如果是字符元素不加引号的话,会默认为变量。...可以或者行分别使用cbind和rbind函数将向量‘粘’在一起。...· 4.因子 · 因子是使用向量创建的R对象,类似统计学中的分类变量,它将向量向量中元素不同值一起存储成标签,而不论是哪种类型的向量,最后都存储成字符型元素。...逗号后空白,代表保留所有。#Tips:在R中如果这种嵌套内容让你产生了困惑,建议分解成细小的步骤,先把内环的东西结果研究明白,循序渐进,这样就会更加容易。

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

R语言的综合应用-1

例如 y=c("nihaoa 11","niyehaoa 22","zhangsongwen 33")向量:y字符串:一个引号内的所有东西 “nihaoa 11” 字符:引号内的单个字母/数字...T)#3.位置提取字符串str_sub(x,5,9)#4.字符检测★str_detect(x2,"h") #对x2的每个元素进行检测,含有h的返回结果为TRUE,不含有的返回为FALSE。...在R语言的世界里,没有赋值就是没有发生过。#补充select()、filter() 筛选、行类似于之前的$,[]#管道符号(%>%),表示把前一步的运算结果传递给后一步的函数,不需要多次赋值。...() #可以根据关键词给样本进行分组​例如:samples = c("tumor1","tumor2","tumor3","normal1","normal2","normal3")k1 = str_detect...0for (i in 1:length(x)){ s=s+x[[i]] print(c(x[[i]],s))}如何将结果存下来?

86700

【基础】R语言2:数据结构

数据类型数值型:用于直接计算加减乘除字符串型:可以进行连接,转换,提取等逻辑型:真或假日期型等R对象R语言中的变量可以赋值给变量的任何事物,包括常量、数据结构、函数甚至图形对象都拥有某种模式,描述此对象是如何储存的...,输出所有值y[c(F)] #循环使用FALSE逻辑,整个向量值均为FALSEy[c(T,F)] #循环使用TRUE,FALSE逻辑,顺序进行判断#如果T,F数量多于向量值的数量,会输出NA缺失值...)matrix(1:20,4,byrow=T) #行分布matrix(1:20,4,byrow=F) #分布2.dim函数dim(x)=c(4,5)# 绘图heatmap.()# 定义矩阵行...、的名字rownames=c("R1","R2","R3")cnamesdimnames(m)=list(rownames,cnames)数组#创建数组dim(x)=c(2,2,5)矩阵的索引# 矩阵下标访问...2tapply()函数可以按照因子分组然后每组计算另一变量的概括统计h <- c(165, 170, 168, 172, 159)tapply(h, sex, mean)## 男

8310

Day09 生信马拉松-GEO数据挖掘 (中)

(stringr) # 标准流程代码是二分组 # 生成Group向量的三种常规方法,三选一,选谁就把第几个逻辑值写成T,另外两个为F。...,眼睛数,自己生成--仅适用排列有序,每种分组都在一起 Group = rep(c("Disease","Normal"),each = 10) }else if(T){ # ★★第三种方法,...使用字符串处理的函数获取分组--适用范围最广,优先选择★★ k = str_detect(pd$title,"Normal");table(k) Group = ifelse(k,"Normal...,对于我们一般习惯基因名为行,样本名为的数据框,就需要t()转置 cor()函数求相关系数的时候也是列计算,如果计算行之间的相关系数也需要对矩阵进行t()转置 参考资料:scale函数对矩阵归一化是行归一化...,还是归一化?

24610

R语言基础提升与总结

从今天起试一试先听课之后再跟着课件整理笔记的方法~1 玩转字符串——stringr1.1 str_length 字符串的长度区分字符向量/字符串/字符y = c("jimmy 150","nicker...140","tony 152")y:字符向量"jimmy 150":字符串,一个引号内的所有东西引号内的单个字母/数字/符号称为字符x <- "The birch canoe slid on the...x <- c(5,6,0,3)s = 0for (i in 1:length(x)){ s=s+x[[i]] print(c(x[[i]],s))}3.2.3 如何将for循环的结果保存下来?...(cbind,result) #把result的结果简化,拼接成为一个矩阵 do.call完成批量操作4 表达矩阵画箱线图4.1 表达矩阵的概念基因表达的数据通常使用表达矩阵来表示其中矩阵的行代表某个基因在不同样本...") #列出工作目录下以.R结尾的文件 $表示以……结尾dir(pattern = ".R") file.create("douhua.txt") #用代码创建文件file.exists("douhua.txt

13310

R语言宏基因组学统计分析(第四章)笔记

par(mfrow) 两个参数,一个是图的行数,另一个是每行的数,默认par(mfrow = c(1,1))。...= 0))/length(x)}) > cutoff),]) 4.1.7 其他有用的R函数 转置t() 分类和排序 sort() #升序,降序可用rev(sort()) order() #返回的是一个序号向量...,升序,可以认为x[order(x)]=sort(x) ifelse()R语言是向量化的,ifelse()可以遍历所有因子并避免使用循环,根据前面我们知道,循环调用函数次数超级多的话会让时间明显变长。...rep()和grep()这两个函数可以用来创建样本分组的信息,如: group_1 <- data.frame(c(rep("fecal",length(grep("drySt", colnames(tab...()创建新, 例如, 通过已有变量,调用函数增加新的变量 summarise() 汇总数值 group_by() 分组观察值,分开和合并 sample_n() 和 sample_frac() 随机抽样

1.7K20

R语言综合应用

= T)#将生成的数据转变为矩阵 [,1] [,2] [1,] "jimmy" "150" [2,] "nicker" "140" [3,] "tony" "152" 2.位置提取字符...3.数据框新增一另一种方法)mutate() mutate(test#数据名,新的列名= Sepal.Length * Sepal.Width) deg <-mutate(deg,probe_id...) } result [[1]] [1] 5 5 [[2]] [1] 6 11 函数 do.call(cbind,result) ,do.call批量运算,cbind拼接。...split(x, f, drop = FALSE, ...) <- value x: 一个待分组向量或者data frame f: 函数,一个factor或者list(如果list中元素交互作用于分组中...),以此为规则将x分组 drop: 逻辑值,如果f中的某一个level没有用上则被弃用 value: 一个储存向量的list,其形式类似于分组完成之后返回的那个list 自己将数字赋予因子水平 > x

7700

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

(x," ")) x2 = str_split(x," ")[[1]];x2 #向量长度仅为1,因此用[[1]] x2为字符向量 ################################...simplify"参数默认拆分取为matrix str_split(y," ",simplify = T) [,1] #只拆分提取第1 1.3 位置提取字符串 #提取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") #每个元素里面只替换第一次出现的目标字符 str_replace_all...mutate(group = rep(c("control","treat"),each = 3)) #对data.frame新增一分组信息 # 宽变长操作 pdat = dat%>% pivot_longer

20600

R语言基础笔记-04(字符串、数据框、条件与循环)

,包括空格、符号 ## [1] 42 length(x) #向量里的元素数量 ## [1] 1 2.字符串拆分:str_split(x," ", simplify = T) str_split(x,"...#""引号里什么都不装,则分割为字母(更小单位): str_split("learn","")[[1]] ## [1] "l" "e" "a" "r" "n" 返回列表的用处:输入为多个元素组成的向量时有用...nicker" "140" ## [3,] "tony" "152" class(str_split(y," ",simplify = T)) ## [1] "matrix" "array" 3.位置提取字符串...,如rnorm,但如果我想生成很多组向量,每一个向量分别是:1个随机数、5个、7个、3个,即把x里的每一个数都带入{}里的函数计算一次 (2)写for循环的两种方法 x = c(1,5,7,3) ##...]] ## [1] 5 6 ## ## [[3]] ## [1] 7 13 ## ## [[4]] ## [1] 3 16 do.call(cbind,result)#把result里的元素拼接

79030

生信入门马拉松之R语言基础- R语言作图(Day 6)

火山图可以由点图画出来重启session(重新打开RStudio、重启R,打开新的session)时需要重新加载R包1.3 坐标系矩阵行变变行:转置(T)coord_flip(): 反转坐标系,最后一行加上代码即可...列表第几个元素,就是拆分出向量的第几个元素class(str_split(x," "))#列表x2 = str_split(x," ")[[1]];x2#提取出向量y = c("jimmy 150","...nicker 140","tony 152")str_split(y," ")str_split(y," ",simplify = T)#该参数简化作用,输出结果变成矩阵### 3.位置提取字符串str_sub...彩虹括号设置:同一对括号同一个颜色;option > code > disply > use rainbow...搭配嵌套函数使用2.5 条件和循环if条件语句if(一个逻辑值,不可以是多个逻辑值组成的向量...是否有分组信息?找实验分组,每个组应超过3个。生信技能树公众号生信入门马拉松课程小洁老师

18430

R」apply,lapply,sapply用法探索

本文节选自张丹的《R的极客理想》系列。 1. apply的家族函数 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。...对于上面的需求,还有第三种实现方法,那就是完成利用了R的特性,通过向量化计算来完成的。...[1] 0.0 0.0 0.5 1.0 1.0 lapply就可以很方便地把list数据集进行循环操作了,还可以用data.frame数据集进行循环,但如果传入的数据集是一个向量或矩阵对象,那么直接使用...[[3]] [1] 3 [[4]] [1] 3 [[5]] [1] 2 [[6]] [1] 1 [[7]] [1] 4 [[8]] [1] 5 lapply会分别循环矩阵中的每个值,而不是行或进行分组计算...如果对数据框的求和。 > lapply(data.frame(x), sum) $x1 [1] 12 $x2 [1] 12 lapply会自动把数据框进行分组,再进行计算。

4.3K32

R语言的数据结构(包含向量向量化详细解释)

也就是说,向量的所有元素必须属于同种模式(mode),或数据类型(见1.2),比如数值型,字符型等。其类型可以用typeof()查看。 标量只含有一个元素,在R中没有0维度或标量类型。...x[5]是第五个元素,值是5,明显看出,矩阵就是向量填充(可以更改填充方向)。...> x+c(100,200,300,400,500,600) [,1] [,2] [1,] 101 404 [2,] 202 505 [3,] 303 606 上面这个更清晰看出进行填充...所以实际是用布尔值向量筛选x中的符合条件的元素,也就是执行的是 x[c(TRUE,FALSE,TRUE,TRUE)] 运用上述方式可以筛选另一向量,也可以筛选自身。...tapply好像很适合,因为分组,应用函数。但是,tapply的第一个参数必须是向量,不能是矩阵或数据框,而回归分析必须至少两的数据或数据框,其中第一是被预测的变量,第二或多是预测变量。

7K20

R语言-基础

数据结构(向量、数据框、矩阵、列表) 字符向量必须加引号(单双皆可)不能为中文值 逻辑型(logical)包括TRUE(T)、FALSE(F)、 NA(缺失值) 判断数据类型的函数class() 数据框单独拿出来一向量...("4") #转换为数值型数据 as.logical() #转换为逻辑型数据 as.character() #转换为字符型数据 3.1向量 3.1.1向量的生成 (1...,无嵌套的从左到右 sort(x)[x<0] #与下面的相同 #y <- sort(x) #y[x<0] (1:10)[c(T,F)] #循环补齐 T,F 3.2 数据结构 用class() 或is(...名字 df,c("gene",change") 4. 条件 df$scoredf$score > 0, 数据框按照逻辑取子集,TURE对应的行/留下,FALSE对应的行/丢掉。...df1[3,] <- c(3,3,3,3) #改一 df1$p.value <- c(0.1,0.1,0.1,0.1) #添加一 df1 row.names<- c(1,2,3,4) #修改行名

1.4K00

Day4:R语言课程(向量和因子取子集)

所有数据结构 - 内容显示: `str()`:紧凑的数据内容显示(环境) `class()`:向量的数据类型(例如字符,数字等)以及数据帧,矩阵和列表的数据结构。...编程语言如Fortran,MATLAB和R从1开始计数,符合人类的思维模式。C系列中的语言(包括C ++,Java,Perl和Python)从0开始计算,因为这对计算机来说更简单。...创建一个名为age的向量: age <- c(15, 22, 45, 52, 73, 81) ?...---- 练习 使用以下字母C,D,X,L,F创建一个名为字母的向量。 使用关联的索引[ ]以执行以下操作: 仅显示C,D和F....要重新定义类别,可以将levels参数添加到factor()函数中,并为其提供一个向量,其中包含所需顺序列出的类别: expression <- factor(expression, levels=c

5.5K21

DAY6-学习R

安装和加载R包镜像设置使用R配置文件使用file.edit()编辑文件——输入file.edit('~/.Rprofile') options("repos" =c(CRAN="https://mirrors.tuna.tsinghua.edu.cn...五个基础函数mutate(),新增列——mutate(test, new = Sepal.Length*Sepal.Width)要修改的数据框的名称将创建的新变量的名称将分配给新变量的值select()筛选...select(test,1)#筛选test中的第一select(test,c(1,5))#筛选test中的第一和第五select(test,Sepal.Length)#筛选test中名为Sepal.Length...的一列名筛选select(test, Petal.Length, Petal.Width)选择字符向量中的,select中不能直接使用字符向量筛选,需要使用one_of函数vars <- c("Petal.Length..."setosa","versicolor"))#筛选test中有"setosa","versicolor"的行arrange(),某1或某几列对整个表格进行排序arrange(test, Sepal.Length

16830

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

R语言基础学习笔记-Day71. 复习R包stringr字符串操作的几个函数-长度、拆分、提取、字符检测、替换和删除。...(x,length)代码会返回一个向量2.10 两个数据框的连接test1 <- data.frame(name = c('jimmy','nicker','Damon','Sophie'),...加载test1.Rdata,将两个数据框按照probe_id连接在一起,共同取交集load("test1.Rdata")library(dplyr)merge1 <- merge(dat,ids,...生信实战中R语言的几个重点函数【小洁老师语录】编程能力,就是解决问题的能力,也是变优秀的能力R语言基础入门课程-到此结束7. 数据挖掘生信技能树小洁老师7.1 为什么数据挖掘?...分组信息:是一个有重复值的离散型的向量分组向量的元素和表达矩阵的是一一对应的。

11100

R常用基本 函数汇总整理

和或行()均值 rowsum() 对矩阵的每一分组计算数值之和 cov,var,cor 相关系数或相关系数阵 fivenum() 产生Tukey's five number...strsplit() 按照指定的模式分割字符串 sub, gsub() 字符替换,支持模式匹配,后者支持全局匹配 grep() 查找字符串,支持模式匹配 c() 合并对象...cbind() 合并 rbind() 行合并 merge() 或行合并dataframe dim() 对象的维数,返回值为一个list dimnames(...,返回一个factor变量 split() 将对象中元素指定方式分组,返回由所有组所组成的列表 unlist() 拆分列表结构为向量,保留其中所有的atomic components...,返回一个list sapply() 同lapply, 但是返回一个向量,如果每次函数操作只产生一个元素 tapply () 对所给变量按照指定的分组方式分别运行一个函数 mapply

1.9K30
领券