Linux 文本处理三剑客grep、sed、awk,这三个命令在工作和面试过程中出现的频率非常高,有时候很复杂的需求,一条简单的命令就可以实现,今天就先学习一下最强大的awk。
目录 Linux 三剑客之awk 简介 应用场景 awk执行流程图 awk生命周期 awk内置(预定义)变量 行与列描述 取行 取列 awk中的函数 条件的分类 awk正则详细: 普通正则和awk正则区别 范围表达式 逻辑表达式 算术表达式 特殊模式BEGIN{}和END{} awk数组 awk 的 判断、循环 if循环 循环 总体练习 易错点: Linux 三剑客之awk 📷 简介 awk主要是用来格式化文本,也有人称awk是一种语言,类似 C,awk 是三剑客的老大,利剑出鞘,必会不同凡响。 应
如何获取目标基因的转录因子(上)一文中我们以人类基因组为例,从ensemble网站下载了基因组中基因位置信息矩阵GRCh38.gene.bed和基因组中转录因子结合位点信息矩阵GRCh38.TFmotif_binding.bed)
前言 这两天自己挽起袖子处理日志,终于把AWK给入门了。其实AWK的基本使用,学起来也就半天的时间,之前总是靠同事代劳,惰性呀。 此文仅为菜鸟入门,运维们请勿围观。 下面是被处理的日志的示例,不那么标准,但不标准的日志正是标准的情况。 [2015-08-20 10:00:55.600] - [192.168.0.73/192.168.0.75:1080 com.vip.xxx.MyService_2.0 0 106046 100346 90ms 110ms] 基本语句 最基本的语句,以空格做分割,提取所
变量可以分为很多种,如连续变量、分类变量等。当数据集中包含了分类变量和连续变量时,我们想了解连续变量是怎样随着不同的分类变量水平变化而变化,这时散点图中则会出现大量重叠,而箱式图则可以更清晰的展示这类数据。
这里仅仅是针对一个数据集,就是r包airway并且通过assay函数拿到其表达矩阵。
约等于“表格”原因:数据框不是独立的文件,是二元内部的一个数据,电脑上可能并没有这样一个文件,不是在电脑上真实存在的文件;excel表格没有要求一列只有一种数据类型,而数据框要求一列只能有一种数据类型。
约等于表格 但是:列有要求(同一列只允许同一种数据类型);不是文件(可以导出来成为一个文件);
1.获得行名和列名 data._stat_axis.values.tolist() # 输出行名并转化为列表 data.columns.values.tolist() # 输出列名并转化为列表 2.获得行数和列数 data.shape # 行数和列数 data.shape[0] # 行数 data.shape[1] # 列数 3.第一列作为行名 data = pd.read_csv('1.csv', sep = ',', index_col=0) 4.数据框合并 pd.merge(data1, data2
原文是:For probesets that map to identical Entrez gene names, select the one with highest IQR (for Affy, select mean for Agilent),也就是四分位间距IQR,这个概念主要是在boxplot图表里面显示出来。当然了,不同芯片平台也是有一些细微的差别。
生信技能树-数据挖掘课程笔记 数据框 #数据框的新建 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) #查看列名 输出结果: 图片 图片 数据框的操
1)现在学“表格” 二维:二维有两个:(1)matix 矩阵 —— 二维,只允许一种数据类型。(2)data.frame 数据框—— 二维,每列只允许一种数据类型(列与列之间相不相同都行)。
很明显,有些信息是冗余的,有些是有效信息可以用来分组,但是表型记录太多,看起来会混淆,所以需要去除那些冗余信息,就是在所有样本里面表型记录都一致的列。
数据类结构 数据类型 一维 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),
a[A:B:-X]A>B,从A到B按步长x采样,包括A。A<B,从B到A按步长x采样,不包括B.
给向量按照逻辑值取子集,scores>60输出结果是逻辑值(比较运算的输出结果是逻辑值
约等于表格:1.数据框不是一个具体文件,只是R语言内部的一个数据;2.数据框每一列只能有一种数据类型
通过 gather ,并设定key(原先的列),与value(原先的数据),并通过 - (原先的行),对数据框进行转换。
df1 <- data.frame(gene=paste0("gene",1:4),
x<- seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数(注意是逗号不是分号)
seq 100 |awk '{sum=sum+$1;print sum}END{print sum}'
发现好多负值,应该是数据经过背景矫正,log2转换之后又经过scale的数据(z-score的)。也就是小洁老师上课时说的那种不能直接用来做DEG分析的芯片数据。心中顿时飞过一匹草泥马~
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/77800208
attr = pd.DataFrame(np.arange(12).reshape(3,4))
修改行名和列名,其实就是修改向量,要修改全部行名就给全部赋值,如果要改一个列名就给取子集赋值。如:修改第二列的列名,就是修改【列名这个向量】的第二个元素
在使用 R 语言的过程中,需要给函数正确的数据结构。因此,R 语言的数据结构非常重要。通常读入的数据并不能满足函数的需求,往往需要对数据进行各种转化,以达到分析函数的数据类型要求,也就是对数据进行“塑形”,因此,数据转换是 R 语言学习中最难的内容,也是最重要的内容。
在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体。
内置数据多用于新手练习,eg:iris、volcano、letters、LETTERS
坑:rnorm(10,mean = 0,sd = 18)rnorm(10,mean = 0,sd = 18)<(-2) :[]中和[]外是两个向量。
如:df[(df['列索引名']>10) & (df['列索引名']<20 )] 取df中指定列索引对应的值中10-20之间的元素
pandas的操作上千种,但对于数据分析的使用掌握常用的操作就可以应付了,更多的操作可以参考pandas官网。
title: "数据框取子集、修改和连接的方法" output: html_document date: "2023-03-18" 先生成一个数据框df1作为示例数据框 df1 <- data.frame(gene = paste0("gene",1:4), change = rep(c("up","down"),each = 2), score = c(5,3,-2,-4)) df1 ## gene change scor
上次讲完了数组的基本操作,不知道是否熟悉使用了,本篇将要对矩阵部分的操作再进行介绍,这部分的内容我觉得蛮有意思的,不过你们觉不觉得我就不知了,但还是想让你们可以感受到它的有趣之处。
matrix 矩阵-二维,只允许一种数据类型;data.frame数据框-二维,每列只允许一种数据类型。
# sed -i "s/dirback/DIRBACK/g" openstacks.text
文件名$列名 = c()赋值修改后的向量($提取的是一个全新的列名,之前不存在的)
这是这个矩阵的上三角加对角线求和,因为是对称的嘛,可以补全下三角,加上对角线就行了。
logistic回归,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。一般来说逻辑回归用来做分类任务,本文列举的是以线性的2分类为例, 除此之外还可以拓展到多更多参数实现非线性分类,以及多分类问题等。在文章中主要写了其推导过程以及部分代码实现
通配符是shell在做PathnameExpansion时用到的。说白了一般只用于文件名匹配,它是由shell解析的,比如find,ls,cp,mv等。
read.table(file"mingzi",sep="\t",header=T)
awk、sed、grep是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。三者的功能都是处理文本,但侧重点各不相同,grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。
新手攻略: (1)R的赋值符号不是等号,而是<- (2)在Console 控制台输入命令,相当于Linux的命令行 (3)R的代码都是带括号的,括号必须是英文的。 (4)显示工作路径 getwd(
> (7)别只复制代码,要理解其中的命令、函数的意思。函数或者命令不会用时,可用这个命令查看帮助:?read.table,调出对应的帮助文档,翻到example部分研究一下。
matlab矩阵的创建方式有如下几种:直接输入、读取外部数据、内置函数、M文件编程
https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/Code/Day2_Simple_Linear_Regression.md
6.12自我总结 一.pandas模块 import pandas as pd约定俗称为pd 1.模块官方文档地址 https://pandas.pydata.org/pandas-docs/stab
登录Linux系统需要用户名和密码,用户名就对应系统中的一个用户; 为了方便用户的管理,加入了用户组的概念,修改用户组的权限会对组内的所有用户生效。
具体的描述看代码,有一点需要注意,损失函数Loss也就是cross-entropy!
6.12自我总结 一.numpy模块 import numpy as np约定俗称要把他变成np 1.模块官方文档地址 https://docs.scipy.org/doc/numpy/referen
之前写 datamash 的使用教程 linux 极简统计分析工具 datamash 必看教程,收到了一位读者的私信,内容如上。
领取专属 10元无门槛券
手把手带您无忧上云