R语言 控制流:for、while、ifelse和自定义函数function|第5讲
一、基本 1.数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量character;字符型向量 list:列表 data.frame:数据框c:连接为向量或列表 length:求长度 subset:求子集seq,from:to,sequence:等差序列rep:重复 NA:缺失值 NULL:空对象sort,order,unique,rev:排序unlist:展平列表attr,attributes:对象属性mode,typeof:对象存储模式与类型names:对象的名字属
对一个数据框 d,用 summary(d) 可以获得每个连续型变量的基本统计量,和每个离散取值变量的频率。以及分类变量的各种类型的统计结果。如:
数据框、矩阵取子集,逗号的两边分别表示行和列,要么是行名列名,要么是行号列号,还可以是逻辑值。
生信技能树-数据挖掘课程笔记 数据框 #数据框的新建 df = data.frame(gene = paste0("gene",1:6),change = rep(c("up","down"),each = 3)) #数据框的读取 df df = read.csv("gene.csv") #数据框的属性 dim(df) #查看行数和列数 nrow(df) #查看行数 ncol(df) #查看列数 rownames(df) #查看行名 colnames(df) #查看列名 输出结果: 图片 图片 数据框的操
[]中括号里面的可以是逻辑值判断,可以是具体的值(即下标),可以是函数,可以是向量
坑:rnorm(10,mean = 0,sd = 18)rnorm(10,mean = 0,sd = 18)<(-2) :[]中和[]外是两个向量。
文件名$列名 = c()赋值修改后的向量($提取的是一个全新的列名,之前不存在的)
有时候我们要处理的是非结构化的数据,例如网页或是电邮资料,那么就需要用R来抓取所需的字符串,整理为进一步处理的数据形式。R语言中有一整套可以用来处理字符的函数,在之前的 博文 中已经有所涉及。但真正的要用好字符处理函数,则不得不用到正则表达式。 正则表达式(Regular Expression、regexp) 是指一种用来描述一定数量文本的模式。熟练掌握正则表达式能使你随心所欲的操作文本来达成目标。其实学习正则表达式并没有想像中的那么困难。最好方法是从例子开始,然后多练习,多使用。网络上已经有许多不
matrix 矩阵-二维,只允许一种数据类型;data.frame数据框-二维,每列只允许一种数据类型。
数据框(和矩阵)有2个维度(行和列),要想从中提取部分特定的数据,就需要指定“坐标”。和向量一样,使用方括号,但是需要两个索引。在方括号内,首先是行号,然后是列号(二者用逗号分隔)。以metadata数据框为例,如下所示是前六个样本:
初级统计函数 max() ,min() , mean() , median() ,var()方差 , sd()标准差 , sum()总和, length(x) # 长度(x中元素的个数), unique(x) #去重复(第一次出现不为重复,第二次出现为重复),duplicated(x)#检查重复值 , table(x) 重复值(因子)统计 ,sort(x) #排序 , dim() 查看行列数, nrow()查看行数,ncol() 查看列数
1)现在学“表格” 二维:二维有两个:(1)matix 矩阵 —— 二维,只允许一种数据类型。(2)data.frame 数据框—— 二维,每列只允许一种数据类型(列与列之间相不相同都行)。
R语言中的数据类型包括数值型(numeric)、字符型(character+"")、逻辑型(logical)
约等于表格 但是:列有要求(同一列只允许同一种数据类型);不是文件(可以导出来成为一个文件);
2、read.csv(" ") ⚠️文件在当前的工作路径中可以直接使用文件名,否则需要使用绝对路径,否则就会报错。
生信技能树学习之数据结构--矩阵、列表 矩阵matrix 二维,只允许一种数据类型 列表。可装万物,没有列与列的区别, 矩阵和列表 矩阵的来源 # 1.由数值型数据框转换 m1 = as.matrix(iris[,1:4]) # 2.由向量改变维度而来 m2 = matrix(rnorm(18),nrow = 3) m2 # 3. 由向量拼接而来 m3 = cbind(1:10, 11:20, 30:21) m3 #4.内置 volcano 一、矩阵新建 m
df1 <- data.frame(gene=paste0("gene",1:4),
Day5-数据结构图片数据类型向量矩阵数组数据框各列的内容可以是不同的类型数据列表因子向量向量与标量的区别标量:一个元素组成的变量向量:多个元素组成的变量引用自生信星球取子集根据位置取子集- 用英文状态下的[],括号内可以为要取的值的位置,如1,1:3。-1表示除了第一个位置的值,以此类推根据值取子集可以是“==”,逻辑值数据框1.读取本地数据txt建议用read.table(),分隔符为",",默认状态为“”,但不排除有多个分隔符可能csv格式建议用read.csv,分隔符为“,”(默认状态)2.行名(r
方式:RStudio中,菜单栏File→NewProject→NewDirectory→NewProject→DirectoryName
数据框来源主要包括用代码新建(data.frame),由已有数据转换或处理得到(取子集、运算、合并等操作),读取表格文件(read.csv,read.table等)及R语言内置数据
约等于表格:1.数据框不是一个具体文件,只是R语言内部的一个数据;2.数据框每一列只能有一种数据类型
数据类型:数值型(numeric),字符型(character,必须加" "or' '),逻辑型(TRUE FALSE NA存在但未知)
数据操作是机器学习生命周期中最关键的步骤之一。它需要转换所提供的数据,以便用于建立预测模型。
apply函数只能用于处理矩阵类型的数据,也就是说所有的数据必须是同一类型。因此要使用apply函数的话,需要将数据类型转换成矩阵类型。
Vector向量----一维 matrix矩阵----二维,只允许一种数据类型 data.frame数据框----二维,每列只允许一种数据类型 list列表----可装万物 图片 数据框来源: 图片 内置数据框 x=iris volcano View(volcano) ##表格视图 > class(volcano) ##数据框中包括哪些数据类型 [1] "matrix" "array" heatmap(volcano) ##热图 > letters [1] "a" "b" "c" "d" "e" "f
内置数据多用于新手练习,eg:iris、volcano、letters、LETTERS
In x == y : longer object length is not a multiple of shorter object length
生信技能树-数据挖掘课程笔记 数据类型 数值型 (numeric) 1.1 2 30 字符型 (character) "a" "bb" "ccc" 逻辑型 (logical) TRUE T FLASE F NA 变量赋值 string = "hello,world" string <- "hello,word" 比较运算 比较运算的返回值是逻辑值TURE 、FALSE > 大于 < 小于 >=小于等于 >=大于等于 == 等于 !=不等于 注意区分赋值= 与逻辑值判断的等于== 逻辑值关系 &有一者
处理文本是每一种计算机语言都应该具备的功能,但不是每一种语言都侧重于处理文本。R语言是统计的语言,处理文本不是它的强项,perl语言这方面的功能比R不知要强多少倍。幸运的是R语言的可扩展能力很强,DNA/RNA/AA等生物序列现在已经可以使用R来处理。
数据框约等于“表格”,数据框里的每一列只能同一种数据类型,单独拿出一列是向量,是为一个整体
其实map 除了对向量有用,也可以作用于数据框或矩阵类型,相当于把其中的每一列作为一个单独的元素来看,有点像按列的apply:
社区发现是指在一个图中,将节点分割成若干个互不相交的子集,使得子集内节点之间的连接更加密集,而子集之间的连接较为稀疏。
max(X)#最大值 min(x)#最小值, mean(x)#均值,median(x)#中位数
[1] "The birch canoe slid on the smooth planks."
题目: Influence maximization in social networks using graph embedding and graph neural network
#对向量的子集进行操作 #tapply(参数):tapply(向量,因子/因子列表,函数/函数名) > x <- c(rnorm(5),runif(5),rnorm(5,1)) > f <- gl(3,5) > f [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 Levels: 1 2 3 > tapply(x,f,mean) 1 2 3 -0.5004154 0.4044779 0.9769996 > tapply
约等于表格:列有要求(同一列只允许同一种数据类型);不是文件(可以导出来成为一个文件)
R通常被用来进行数值计算比较多,字符串处理相对较少,而且关于字符串的函数也不多,用得多的就是substr、strsplit、paste、regexpr这几个了。实际上R关于字符串处理的功能是非常强大的,因为它甚至可以直接使用Perl的正则表达式,这也是R的一个理念,作为语言就把向量计算做到极致,作为环境,就在各领域都集成最好的。R中有grep系列的函数,可以用最强大的方式处理字符串的所有问题
比如 a,b,c 在列表1 出现,bc 在列表2 出现,ad 在列表3 出现,那么仅仅保留1:abc, 2:空, 3:d。这个列表中的对象可以是数据框,也可以是单个字符,也可以是列表,可以是任何类型的对象。
文件保存的位置叫工作目录。working directory 即脚本,图片,文件的默认保存位置,也是文件读取的默认位置。
each和times的区别是times输出的是abcdabcdabcd,each输出的是aaabbbcccddd
数据类结构 数据类型 一维 vector 向量 数值、字符、逻辑都可;只有长度;只允许一种数据 二维 matrix 矩阵 向量二维化 只允许一种数据类型 二维 data.frame 数据框-二维,每列只允许一种数据类型 1.数据框来源 1)用代码新建 2)由已有数据转换或处理得到 3)读取表格文件 4)R语言内置数据 2.新建和读取数据框 df1 <- data.frame(gene = paste0("gene",1:4),change = rep(c("up","down"),each = 2),
ctrl+shift+m,把上一个运算的结果输入为下一个函数的第一个参数,可以省略很多中间变量
一、玩转字符串 stringr包 图片 1.str_length() 检测字符串长度 x <- "The birch canoe slid on the smooth planks." x ### 1.检测字符串长度 str_length(x) #计算字符串中有多少字符 length(x) #计算向量中元素的个数 图片 图片 2. str_split 字符串拆分 x <- "The birch canoe slid on the smooth planks." x ### 2.字符串拆分 str_sp
本文翻译自OpenCV 2.4.9官方文档《opencv2refman.pdf》。 前言 Originally, support vector machines (SVM) was a techni
paste0 无缝连接,一一对应的连接 paste 有缝连接
领取专属 10元无门槛券
手把手带您无忧上云