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

【生信技能树培训笔记】R语言基础(20230112更新)

是否字符型数据as族函数实现数据类型之间转换as.numeric()将其他数据类型转换为数值型as.logical() 将其他数据类型转换为逻辑型as.character() 将其他数据类型转换为字符型本节函数...数据要求每一列只能有一种数据类型,且数据只是R语言内部一个数据,不是一个文件。- 数据单独拿出来一列是一个向量,视为一个整体。一个向量可以出自数据一列,也可以用代码生成。...0.05Tips:当取用列名为原数据存在列名,则赋值修改改列内容;当取用列名不存在与原数据,则赋值新增一列。...指定列名称取交集,其余列均包含在新数据。...,若仍旧需要按照这两列取交集合并,则可以具体指定两个列名称,如下:(注意指定列名称顺序需与前面指定数据顺序对应)> merge(test1,test3,by.x = "name",by.y = "

3.9K51

R语言 数据、矩阵、列表创建、修改、导出

data.frame生成指定数据列名及列内容,如代码所示,此时列名不需添加"",df1变量名,格式列名=列向量*matrix矩阵与向量一样只允许同一种数据类型,否则会被转换,可以理解二维向量..."s",善用Tab可以防止错误rownames(df1)colnames(df1)数据取子集"$"取子集df1$gene数据df1列名向量取子集*输入df1$后按tab键可以输出待选列名mean...$score > 0] #先取出列名为gene向量,在给出一个一一对应逻辑值向量数据修改修改数据相当于定位取出数据后赋值,赋值需对应元素或向量df1[3,3] <- 5 #第3行第3列数据赋值5df1df1...= ls())load(file = "soft.Rdata") #使Rdata向量出现在环境内,本身有名称,无需赋值矩阵和列表矩阵矩阵内所有元素数据类型必须相同*警惕因数据类型不同导致矩阵强制转换引起报错...#取子集方法同数据t(m) #置行与列,数据置后为矩阵as.data.frame(m) #将矩阵转换为数据列表列表内有多个数据或矩阵,可通过list函数将其组成一个列表l <- list(m1

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

从零开始异世界生信学习 R语言部分 02 数据结构之数据、矩阵、列表

数据 data.frame 数据 约等于表格:1.数据不是一个具体文件,只是R语言内部一个数据;2.数据每一列只能有一种数据类型 图片 新建和读取数据 #新建和读取数据 df1 <- data.frame...df1) #输出行名 colnames(df1) #输出列名 数据取子集 数据主要操作为按列取子集,取出来向量;按行去子集取出数据。..."r2","r3","r4") #只修改某一行/列名 colnames(df1)[2] <- "CHANGE" # | 或符号前后不可以连接字符,只能用于数字,逻辑值 两个数据连接 test1 <...,"b","c") #加列名 m m[2,] #矩阵取子集不支持使用$ m[,1] m[2,3] m[2:3,1:2] m #矩阵重要函数 t(m) #行列置,行变列,列变行,行名和列名都跟着变换...as.data.frame(m) #将转换为数据 #作图 pheatmap::pheatmap(m) #使用pheatmap包pheatmap函数做图,热图会先进行聚类,之后再作图。

1.8K20

R语言数据结构(三)数据

数据结构是指在计算机存储和组织数据方式,不同数据结构有不同特点和适用场景。R语言中常用数据结构,包括向量、矩阵、数组、列表和数据。...方便大家理解记忆,对每种数据结构基本操作概括四大类: 创建数据结构 往里面添加数据 从里面查询数据 对里面的数据进行修改 这篇文章我们将介绍数据使用 数据 数据R语言中一种类似于表格数据结构...即使check.namesFALSE,如果要保留""作为名称,也需要将此参数设置FALSE。 stringsAsFactors: 逻辑值,指定是否将字符向量换为因子向量。...数据行名和列名分别对应着数据行和列标识符,可以用row.names()和colnames()函数来获取和设置。 行名:数据每一行都有一个行名,用于标识不同行。...行列索引号从1开始,表示第一行或第一列,负数表示排除对应位置元素。名称是指数据每个向量名称,可以用双引号或单引号包围。使用方括号[]访问数据元素时,返回结果仍然是一个数据

22030

Day3

注意事项:数据分析每一步都要有检查,代码不报错,不代表真的没错,需要检查目的是否达到数据data.frame-**二维,与表格类似,每列是向量,只允许一种数据类型新建用代码新建df1 <- data.frame...(列名 =向量(列内容), 列名 =向量(列内容))###由已有数据转换或处理得到读取表格文件df2 <- read.csv("gene.csv")R语言内置数据属性dim(df1)#维度nrow(...取多列/行修改一个格-取出后赋值df13,3 <- 5一整列 df1$score <- c(12,23,50,2) 新增一列-$接原来表格不存在列。...(df1)2 <- "CHANGE"两个数据连接/合集-mergemerge(test1,test2,by="共同列列名")merge(test1,test3,by.x = "name",by.y...= "NAME")# nametest1需要合并列名矩阵matrix -**二维,只允许一种数据类型新建 <- matrix()取子集-[]置-t()转换为数据: as.data.frame

6510

学习小组笔记Day5-蘑菇

(4)显示工作路径 getwd()(5)向量是由元素组成,元素可以是数字或者字符串。(6)表格在R语言中改名叫数据^_^(7)别只复制代码,要理解其中命令、函数意思。...(用chr表示)等,根据它可以区分两个词:标量:一个元素组成变量向量:多个元素组成变量(补充:一个向量是一排有序排列元素,以后会用到把一个向量作为数据一列情况。)...根据元素位置赋值,则x后面无需加赋值符号,直接加括号即可图片(2)根据值x[x==10] #等于10元素x[x<0]x[x %in% c(1,2,5)] #存在于向量c(1,2,5)元素3.数据将示例数据放在你工作目录下...如何将TXT文件导入工作目录: Rstudio运行x=read.table(file.choose()),注:括号里不用加任何东西,然后在跳出文件中选择所需文件示例数据是如何获得?...sep文件字段分隔符,!!!要和seq区分开;header逻辑关系 T或者F(所代入excel数据,第一行是否用作列名称

2.1K40

生信课程note-3

) ,iris,letters,LETTERS是r语言内部数据,可以导出表格文件打开,但没办法用别的软件直接打开数据。...、行、列dim(df1)nrow(df1)ncol(df1)#行名,列名rownames(df1)colnames(df1)#4.数据取子集df1$score 向量取子集用是[] 取score这一列...用于取子集逻辑值向量:与x对应,不必须由x生成。(例子即通过scoregene取子集)记住,==是等于意思,>-是赋值意思## 代码思维#如何取数据最后一列?...c("r1","r2","r3","r4")#只修改某一行/列名colnames(df1)[2] <- "CHANGE"列名和行名都是向量#6.两个数据连接test1 <- data.frame(...mm[2,]m[,1]m[2,3]m[2:3,1:2]mt(m):置 行变列m<-as.data.frame(m) 转换为数据 必须要赋值矩阵画热图: pheatmap::pheatmap(m)

1.3K40

R语言学习笔记-Day6

#整行移动#升序排序降序排序arrange(test,desc(Sepal.Length))##列名不能加""2.2 去重复distinct(test,Species,.keep_all=T)#对某一列重复元素去重复...,每个脚本最后保存.Rdata,下一个脚本开头清空再加载为什么保存为.Rdata不是表格文件*1 变量,自带变量名称,无需赋值,没有参数*2 表格文件需要赋值,参数影响读取结果,不能在后续文件同等处理...*3 可保存多个变量*4 可保存任意数据结构if(2){code1}else{code2}2:若逻辑值TRUE,则执行code1,反之执行code2多个条件适用if(){code1}else if(...(X,MARGIN,FUNCTION,...)apply(test,2,mean)#1 X代表数据/矩阵名#2 MARGIN以数值作代表,1行,2列#*3 FUNCTION函数#如何取出30个随机数中最大...0.365#输出列表,包含四个向量5 两个数据连接5.1 交集inner_join()取交集5.2 全连接full_join()#保留全部主要信息5.3 左连接left_join()#保留左表主要信息

14600

R语言基础提升与总结

}重点 ifelse函数ifelse(x,yes,no)x:逻辑值或者逻辑值向量yes:逻辑值TRUE时返回值no:逻辑值FALSE时返回值ifelse函数支持单个逻辑值,也支持多个逻辑值组成向量...4.2 如何把基因和count变为数据列名?...paste0("gene",1:3)colnames(exp) = paste0("test",1:6)expexp[,1:3] = exp[,1:3]+1exp#tidyverse系列不认矩阵 矩阵转换为数据...——applyapply(X,MARGIN,FUN…)X:数据/矩阵名称MARGIN:取值=1表示行;取值=2表示列FUN:具体函数对X每一行/每一列进行FUN这个函数test<- iris[1:6,1...,其实是对左边数据取子集7 一些顶呱呱函数7.1 match()7.2 一些处理文件函数dir() # 列出工作目录下文件dir(pattern = ".R$") #列出工作目录下以.R结尾文件

15710

生信技能树DAY 3 R语言入门

| 矩阵 只能有一种数据 是特殊数据 | 数据 一列只能有一种数据 | 列表 没有限制 | 区分矩阵和数据:根据生成它函数 或 class() is()族函数 重点:数据 1.数据来源...(1)用代码新建 (2)由已有数据转换或处理得到 (3)读取表格文件 (4)R语言内置数据 2.新建和读取数据 # data.frame 函数 df1 <- data.frame(gene = paste0...]# 第二列 不带行名列名,是向量 ## [1] "up" "up" "down" "down" df1[c(1,3),1:2] # 多行多列 数据 ## gene change ##...rownames(df1) <- c("r1","r2","r3","r4") #只修改某一行/列名 colnames(df1)[2] <- "CHANGE" # 修改第二列列名,就是修改列名这个向量第二个元素...## [,1] [,2] [,3] ## a 1 2 3 ## b 4 5 6 ## c 7 8 9 as.data.frame(m) # 转换为数据

19910

R语言入门系列之一

R对象(object)是指可以赋值给变量(variable)任何事物,在R语言中使用对象来存储数据也即储存变量,对象类型有标量、向量、矩阵、数组、数据、列表。...a, b)求两个向量并集intersect()求两个向量交集setdiff()setdiff(a, b)求在a不在b部分setequal()setequal(a, b)检验ab是否完全相同...数据必须有列名字,若没有则默认为X1、X2……。...数据元素索引有三种方法,第一种通过列序号索引,第二种通过列名字索引,第三种通过$变量名索引,如下所示: 可以使用attach()函数来将数据添加到当前平台,这样就可以直接使用列名字或变量名来调用数据数据...变量类型不同,在统计其处理方法也不同(例如RDA、CCA等),结果也不相同。 由于因子存在,数据分组信息等都可以转换为一个变量,从而使得数据可以存储远多于矩阵数据

3.8K30

R数据科学整洁之道:使用 tibble 实现简单数据

tibble 是一种简单数据,它对传统数据功能进行了一些修改,其所提供简单数据更易于在 tidyverse 中使用。 多数情况下,我们会交替使用 tibble 和数据这两个术语。...tidyverse 许多函数都可以创建 tibble,因为 tibble 是 tidyverse 标准功能之一。 可以通过 tibble() 函数使用一个向量来创建新 tibble。...(例如,不能将字符串转换为因子)、变量名称,也不能创建行名称。...可以在 tibble 中使用在 R 无效变量名称(即不符合语法名称)作为列名称。例如, 列名称可以不以字母开头,也可以包含特殊字符(如空格)。...最后总结 tibble 相对于数据来说,更简单,但更方便使用,两者主要区别是: tibble 不能创建行名。 tibble 不能改变输入类型(例如,不能将字符串转换为因子)、变量名称

1.6K10

3.9生信

图片 数据来源: 可由代码新建、已有数据转换或处理、读取表格文件、R语言内置数据 内置数据多用于新手练习,eg:iris、volcano、letters、LETTERS 新建数据: 图片 ##A....数据取子集 a.$ df1$gene #删掉“gene”,按tab键,可以提示出表格全部列名 小技巧:在今后把 df1$gene 看作一个整体,是一个向量,这样不容易产生困惑。...是针对逻辑值使用 C.数据修改 a.改一个格 df1【3,3】 <- 5 b.改一整列 df1$score <- c(12,23,50,2) c.改行名和列名 rownames(df1) = c("r1...","r2","r3","r4") 修改行名 d.只修改某一行/列名 colnames(df1)【2】 = "CHANGE" 将第二列名字改为CHANGE e.两个数据连接merge merge...(m) = c("a","b","c") #加列名 rownames(m) = c("q","w","e") #加行名 矩阵置和转换: 置:t(m) 行变列,列变行 转换:as.data.frame

1.3K30

Learn R 数据结构

数据类结构 数据类型 一维 vector 向量 数值、字符、逻辑都可;只有长度;只允许一种数据 二维 matrix 矩阵 向量二维化 只允许一种数据类型 二维 data.frame 数据-二维,每列只允许一种数据类型...1.数据来源 1)用代码新建 2)由已有数据转换或处理得到 3)读取表格文件 4)R语言内置数据 2.新建和读取数据 df1 rownames(df1) <- c("r1","r2","r3","r4") 只修改某一行/列名 > colnames(df1)[2] <- "CHANGE" 6.两个数据连接 > test1...>scores = c(100,59,73,95,45) #给对应数字起名字,不影响它本身数值型向量 > names(scores) = c("jimmy","nicker","Damon","...)scores>60 从向量吧分数大于60的人提取出来 [1]"jimmy" "Damon" "Sophie" 删除变量 删除在environment内容 ‘小扫把’ rm(l) rm(

53000

R3数据结构和文件读取

数据类型包括3种,数字,字符,逻辑,数据类型转换as(chat查询想要转换东西对应函数)#2向量生成4种,c,:,(rep重复,seq(取出坐标偶数基因名),rnorm一组符合正态分布数字),...改行名和列名rownames(df1) <- c("r1","r2","r3","r4")#只修改某一行/列名colnames(df1)[2] <- "CHANGE"#6.两个数据连接,mergetest1...左连接可以使用merge(x, y, by="common_column", all.x = TRUE)实现,其中x和y是要连接两个数据集,by指定用于连接列名,all.x设置TRUE表示保留左侧数据所有行...如果需要保留所有列并仅去除重复行,则可以将上述代码c("column_name")替换为NULL,即:df_unique <- unique(df)这会返回一个去除重复行后完整数据df_unique...);y[,1],此时赋值不成功,因为y[,1]还是代表矩阵第一列,矩阵只会允许一种数据类型,要改除非整个矩阵一起改## [1] 40.66667#如果要把矩阵字符都转换成数字,需改成数据class

2.7K00

生信技能树-R语言-day3

上次作业:#向量g中有多少个元素在向量s存在(要求用函数计算出具体个数)?...:向量二维:矩阵matrix 只有一种数据源类型数据 data.frame 每列只有一种数据类型list列表:可以装下一切(数据向量,矩阵,数据数据 新建新建数据data.frame()...= c()赋值修改后向量(先提取一个列$,再修改)增加一列数据文件名$列名 = c()赋值修改后向量($提取是一个全新列名,之前不存在)修改行名rownames() = c()赋值修改后向量...(行名都是一样)修改其中一列列名colnames(文件名)[第几列]= “”赋值列名字(每一列名字都不一样)两个数据连接:merge(数据1,数据2,by = “共同列名字”)...9 > t(m) # 置行和列 [,1] [,2] [,3]a 1 2 3b 4 5 6c 7 8 9换为数据 m = as.data.frame

5610

R语言基础教程——第8章:文件输入与输出

用于指定文件数字转换为双精度数据时丢失精度情况下如何进行转换。 (7)row.names 保存行名向量。可以使用此参数以向量形式给出每行实际行名。...或者要读取包含行名称列序号或列名字符串。 在数据文件中有行头且首行字段名比数据列少一个情况下,数据文件第1列将被视为行名称。...Tip: rownames、colnames是base包行名、列名函数; row.names、col.names是read.table函数行名、参数 (9)as.is 该参数用于确定read.table...读取数据时忽略行数。 (14)check.names 逻辑值。该参数值设置TRUE时,数据变量名将会被检查,以确保符在语法上是有效变量名称。 (15)fill 逻辑值。...如果一个数值向量,其元素引用索引。在这两种情况下,行和列名报价,如果他们被写入。如果FALSE,并没有被引用。 sep: 字段分隔符字符串。每一行x值都被这个字符串分隔开。

4.6K31

2023.4生信马拉松day3-数据结构

-数据二维数据;约等于表格 但是:列有要求(同一列只允许同一种数据类型);不是文件(可以导出来成为一个文件);数据单独拿出一列是向量,视为一个整体;-矩阵二维数据;同一列同一行都只允许一种数据类型...跟我念三遍:row是横排成行;colum是纵队列;rownames(df1) #看所有行名colnames(df1) #看所有列名3.数据取子集-(1)按列名取列——【最重要】df1$score...df1[,2] #取出来列是向量df1[2] #不加逗号,可以取出列,并保留其数据属性df1[c(1,3),1:2] #取第一行 第三行前两个数(会继承行名、列名)#小tips:读懂error...——dimensions#练习:筛选出向量g中下标偶数基因名。...#例:筛选score > 0基因df1$score #取df1score那一列,结果一个含四个元素向量df1$score > 0 #运算结果是返回四个逻辑值TRUE/FALSEdf1$score

1.4K00
领券