上一回简单的说了一下队列两个常见的应用:层次遍历以及在计算机系统中的应用,这一回,我们来看一个大家都非常熟悉的数据结构:数组! ? ? 数组的定义 ? 算法的实现如下: class Solution: # noinspection PyMethodMayBeStatic def is_valid_sudoku(self, board: 算法的实现如下: class Solution: def rotate(self, matrix: List[List[int]]) -> None: """ 算法的实现如下: class Solution: def rotate(self, matrix: List[List[int]]) -> None: """ 算法的实现如下: class Solution: def rotate(self, matrix: List[List[int]]) -> None: """
思维导图向量标量和向量的区分元素:数字或字符串(chr)标量:一个元素组成的变量向量:多个元素组成的变量赋值:x<- c(1,2,3)#将x定义为由元素1,2,3组成的向量x<- 1:10#从1到10之间所有整数 2)#1-3重复2次##从向量中提取元素根据元素位置x[4]#x取第4个元素x[-4]#x取除了第4个元素之外所有元素x[2:4]#x取第2到第4个元素x[-(2:4)]#x除了第2到第4x[c(1,5) ]#x第1个和第5个根据值x[x==10]#等于10的元素x[x<0]#小于0的元素x[x%in%c(1,2,5)]#存在于向量1,2,5之间的元素数据框读取本地数据read.table(file="文件名 文件名.txt",sep="\t",header=T)查看行名和列名、行数和列数colnames(a)#查看列名rownames(a)#查看行名,如果不命名使用默认值的话,行号就是行名,即1,2,3,4,5, 回答:报错是因为编写过程中的变量命名不是a,把a换成你的变量名即可。
以下内容出自生信星球学习小组 图片 *数据结构类型 **************** 向量 区分: 标量:一个元素组成的变量 向量:多个元素组成的变量 从向量中提取元素 (1)根据元素位置 x[4] #取x的第四个元素 x[-4] #排除法,除了第四个元素外剩余的元素 x[2:4] #第二个到第四个元素 x[-(2:4)] #除了第二个到第四个元素 x[c(1,5)] #第一个和第五个元素 (1) 根据值取 x[x==10] #等于10的元素 x[x<0] #负数 x[x%in%c(1,2,5)] #存在于向量c(1,2,5)中的元素 数据框 (1)read.table()常见参数 header na.strings 指示缺失值代码的可选字符向量。例如,na.strings = c(“9”,“?”)转换每个9和?读取数据时的值为NA colClasses 分配给列的类的可选向量。 (5)提取元素 - X[x,y]#第x行第y列 - X[x,]#第x行 - X[,y]#第y列 - X[y] #也是第y列 - X[a:b]#第a列到第b列 - X[c(a,b)]#第a列和第b列 -
(Day 5 今天写作业比较迟,先是大概扫了一遍今天的教程。 看教程到数据框的第一步就卡了老半天,实在解决不了,才跑去问;结果发现自己的问题好抽象,哈哈哈)后面的操作是这次多了一些小改动,就是在做思维导图的时候取消了同级主题对齐,不知道整体好看了还是难看了。 然后避免自己无脑复制粘贴,刻意将很多操作的内容物能换的尽可能换一下(虽然最后还是复制粘贴,但是这样能让自己稍微有点安慰)。 今天学到的脚本可以用别人现成的,大概这就是我之前一直理解的,可以用别人写好的东东拿来分析自己从公司那里拿来的数据这么个回事吧。 最后的问题解答是稍微综合了查到的答案,也不知道自己表达的有没有问题,也不确定我查到的是不是正解。
数据结构 简单介绍Python中常用的几种数据结构。 1. 列表 list 列表类似于其它编程语言里的可变数组。 标准库参考:“列表是可变序列,通常用于存放同类项目。” 、队列 堆栈是一种后进先出的数据结构。 (堆栈:进的顺序是1,2,3,4。出的顺序是4,3,2,1。) 使用列表实现堆栈非常容易,用append()模拟进栈,pop()模拟出栈。 stack.pop() print(stack) 队列是一种先进先出的数据结构。 2.2 元组的操作 元组是不可变序列,实现了所有通用序列的操作。
队列 队列的特性是先进先出。每次数据出去只能的队列的头部,每次数据进来只能加在队列的尾部。 队列实现一般有两种方式,线性队列,链表队列。 链表队列 链表队列的实现可以参考单向链表。 先建立一个普通的单向链表,然后设置三个属性。队列头,用来标识当前队列头的地址;队列尾,用来标识队列尾的地址;队列长,记录当前的队列长,理论上不给队列设置长度可以无限扩展。 每次删除数据,就把队列头的标识移到下一个node的地址。每次增加数据则就把队列尾的指针指向的node加上下一个node的地址,同时把队列尾的标识移过去即可。 线性队列 超简单的,基于数组实现,每次删除数据则把数组第一个删除,把后续的往前面移动,最后一个直接置空;添加数据只需要在最后继续添加即可;数组会有定长,删除和添加数据一定要检验。
1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。 栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈。出数据也在栈顶。 2.栈的实现 栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。 0,则相当于是malloc,扩容完之后就将数据放进top这个位置,然后再将top++,这样才会使得top一直是栈顶元素的下一个位置。 void STPop(ST* ps, STDataType x) { assert(ps); //空 assert(ps->top > 0); --ps->top; } 2.6栈的数据个数 int
前言 在上一篇关于树和二叉树的博客中,最后提到了堆。有小根堆和大根堆。 左边的结构是我们想象出来的,右边才是实际存储的结构。 这次来实现堆。 2. 堆的实现 用数组来实现,这里以实现小堆为例子,它的特点是父节点小于子节点。 先定义一个堆的结构体:为了方便扩容,加了size。 2.2.2 插入代码实现 先判断空间是否足够,不够就扩容,够就直接插入x,再将php->size++。 2.3.2 删除代码实现 首尾交换删除,然后将php->size--,最后向下调整。 assert(php); return php->size == 0; } 3.3 test.c #include"Heap.h" int main() { int a[] = { 4,6,2,1,5,8,2,9
向量元素:数字或者字符串标量:一个元素组成的变量向量:多个元素组成的变量赋值x<- c(1,2,3) #常用的向量写法,将x定义为由元素1,2,3组成的向量x<- 1:10 #1-10所有整数x<- seq =2) #1-3,重复2次从向量中取元素(1)根据元素位置x[4] #x第4个元素x[-4] #除第4个元素外剩余元素x[2:4] #第2到4个元素x[-(2:4)] #除了第2-4个元素x[c(1,5) ] #第1个和第5个元素(2)根据值x[x==10] #等于10的元素x[x<0] #小于0的元素x[x %in% c(1,2,5)] #存在于向量c(1,2,5)中的元素数据框提前把示例数据放在工作目录下读取本地数据 getwd()[1] "D:/CSU/R/24.3.26/day5-practice"setwd("D:/CSU/R/24.3.26/day5-practice")x <- read.csv('doudou.txt 查看行名数据框的导出write.table(a,file = "yu.txt",sep = ",",quote=F) # 导出数据变量的保存与重新加载save.image(file="bioinfoplanet.RData
一、R的符号学习1、赋值符号 <-2、R的代码要带括号 ()(英文括号)3、显示工作路径 getwd()4、查看帮助 ? read.table二、向量1、变量变量分为标量(一个数字或字符串)和向量(多个数字或字符串)表格称为数据框2、赋值3、从向量中提取元素注意不要忘记在【】前输入x三、数据框(表格的显示)1、读取本地数据 ,默认值的行名就是行号,1.2.3.4...colnames(X)1<-"bioplanet"#有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改(不太明白?) 图片4、直接使用数据框中的变量iris是R语言的内置数据,可以直接使用。 提取某两列作散点图: plot(iris$Sepal.Length,iris$Sepal.Width)5、脚本的使用和保存
标量和向量的区分元素:指数字或者字符串标量:一个元素组成的变量向量:多个元素组成的变量x<- c(3,4,5) #常用的向量写法,意为将x定义为由元素3,4,5组成的向量x<- 2:5 #从2-5之间所有的整数 x<- seq(1,5,by =1) #1-5之间每隔1取一个数seg()函数是产生等距间隔数列的函数图片x<- rep(2:4,times=2) #2-4 重复2次rep(x, time = , length each: 代表的是对向量中的每个元素进行复制的次数。 2-4个元素x[c(1,5)] #第1个和第5个元素根据值x[x==10]#变量X中等于10的元素x[x<0]#变量X中小于0的元素x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素 X[1,2]#第1行第2列X[3,]#第3行X[,5]#第5列X[5] #也是第5列X[1:2]#第1列到第2列X[c(3,5)]#第3列和第5列X$列名 #可以提取列直接使用数据框中的变量plot(iris
向量标量和向量的区分标量:一个元素x<-()向量:多个元素x<-1:10从向量中提取元素根据元素位置x<- []根据值x[]数据框读取本地数据read.table(file=)查看行名和列名colnames (),rownames()数据框的导出变量的保存与重新加载提取元素作业:没有给a赋值
(4)显示工作路径 getwd()(5)向量是由元素组成的,元素可以是数字或者字符串。(6)表格在R语言中称为数据框^_^(7)别只复制代码,要理解其中的命令、函数的意思。函数或者命令不会用时,使用? [1] 1 2 3 2 3 x[2:4] #从第2个到第4个元素[1] 2 3 1x[-(2:4)][1] 1 2 3x[1] 1 2 3 1 2 3x[c(1,5)] #第一个和第五个元素 [1] 1 2> x[x==10] #X中等于10的元素integer(0)> x[x<0]integer(0)> x[x %in% c(1,2,5)] #存在于向量c(1,2,5)中的元素 > colnames(a)[1] "X1" "X2"> row.names(a)[1] "1" "2" "3" "4" "5"> write.table(a,file = "yu.txt",sep = [1] 1> a[1] #提取第1列 X11 A2 B3 C4 D5 E> a[2] #提取第二列 X21 12 NA3 NA4 35 NA> a[1,] #提取第一行
数据结构入门R的规范赋值符号是<-,也可以用=代替;在Console 控制台输入命令,相当于Linux的命令行;R的代码带英文括号;向量是由元素组成的,元素可以是数字或者字符串,表格在R语言中称为数据框 ;代码要理解其中的命令、函数的意思,除必应/谷歌搜索,用【? > x[1] 1 2 3> > x<- 1:10 #从1-10之间所有的整数> x [1] 1 2 3 4 5 6 7 8 9 10> > x<- seq(1,10,by = 0.5) [1] 1 2 3 2 3> x[2:4]#第2到4个元素[1] 2 3 1> x[-(2:4)]#除了第2-4个元素[1] 1 2 3> x[c(1,5)] #第1个和第5个元素[1] 1 2x[x= =10]#等于10的元素integer(0)> x[x<0]integer(0)> x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素[1] 1 2 1 2数据框注意要把文件放到工作目录
今天的操作大多跟着步骤来的,自己试着搞一搞,发现并没有很简单,而且大多都是理解记忆类的知识一.向量(使用时赋值)满满的干货既视感二. 数据框1.干货+个人理解2.选修之作图plot(iris$Sepal.Length,iris$Sepal.Width)三.作业附上思维导图和操作图今天的学习到此告一段落啦~
x<-参考文献:生信星球新手拿小本本记下来(1)R的赋值符号不是等号,而是<-(2)在Console 控制台输入命令,相当于Linux的命令行 (3)R的代码都是带括号的,括号必须是英文的。 (4)显示工作路径 getwd()(5)向量是由元素组成的,元素可以是数字或者字符串。(6)表格在R语言中改名叫数据框^_^(7)别只复制代码,要理解其中的命令、函数的意思。 read.table,调出对应的帮助文档,翻到example部分研究一下。(8)数据类型(重点只有两个,剩下的不看)在这些数据类型里,生信学习者最需要熟悉的是向量和数据框。 part1:向量1.标量和向量的区分首先明确“元素”的意思,元素指的是数字或者字符串(用chr表示)等,根据它可以区分两个词:标量:一个元素组成的变量向量:多个元素组成的变量(补充:一个向量是一排有序排列的元素 ,以后会用到把一个向量作为数据框中的一列的情况。)
5)向量:元素组成,元素可以是数字或者字符串(6)表格在R语言中属于数据框(7)? read.table查看帮助(8)数据类型:向量、矩阵、数组、数据框第一部分:向量1、向量元素包含数字或者字符串标量:一个元素组成的变量,可以是数字或者字符串,使用时必须加引号向量:多个元素组成的变量, 排列有序的数字或者字符串2、从向量中提取元素(1)根据元素位置(2)根据值第二部分:数据框(1)读取本地数据熟悉sep和header参数,帮助文档尝试理解他们的意思尝试使用代码将huahua.txt文件放进工作目录 ,结果失败,AI给了代码,没看懂(2)查看行名和别名、行数和列数(3)数据框的导出(4)变量的保存于重新加载save.image(file = 'bioinfoplanet.RData') #保存当前所有变量 save(a.file = 'test.RData') #保存其中一个变量load('test.RData')#再次使用RData时的加载命令(5)提取元素X是刚才的变量名,实际应用要懂得替换a[x,y
Day5-数据结构 part1:向量 元素指的是数字或者字符串(用chr表示) 标量:一个元素组成的变量 向量:多个元素组成的变量x <- c(1,2,3) x x <- 1:10 x x <- seq x[2:4]#第2到4个元素 x[-(2:4)]#除了第2-4个元素 x[c(1,5)] #第1个和第5个元素 (2)根据值: %in% 对两个向量取交集,重要!!! 取等号为==而不是= x[x==10]#等于10的元素 x[x<0] x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素 (1)读取本地数据 # 读取.csv文件 data <- read.csv("路径/你的文件.csv") # 读取.tsv文件(以制表符分隔的文本文件) data <- read.table("路径/你的文件.tsv", header = TRUE, sep (5)提取元素[] 数据框有行和列,而向量里是元素的位置 save(a,file="test.RData")这句代码如果报错object a not found,是为什么,应该怎么解决?
向量元素,标量,向量元素,指数字或者“字符串”(chr)标量,一个元素组成的变量向量,多个元素组成的变量从向量中提取元素x[4]x[c(1,5)]数据框读取本地数据/导入数据(day4讲过)sep,分割符的类型 ,决定了你输出的格式。 数据框的导出。图片使用数据框的变量作图。图片补充向量是由元素组成的,元素可以是数字或者字符串。括号,英文。解决问题,函数或者命令,百度,谷歌,和查看帮助的命令:? read.table题目问题是找不到名为X的这个对象,有可能没有对X进行赋值,也可能是变量x是小写? 感想写在最后,对于一个r语言小白的人来说,今天的课程还需要自己课下慢慢消化,r语言命令很多,需要慢慢积累脚本,今天自己的耐心明显不够,刚开始有些地方运行不了,但是老师给的课程细节确实也都交代到位,回过头来再读一遍
这种情况报错 味着在当前环境中找不到名为 X 的对象。 未定义对象 X要确保在执行 save(X,file="test.RData") 之前,已经创建了对象 X将X改为之前代码中存在的变量,检查是否正确。并确保在save()函数之前执行了这代码。图片