自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (3)
  • 收藏
  • 关注

原创 金属腐蚀的分类及破坏形式

硫酸盐还原菌在通气性差的海水和土壤中可将硫酸盐还原成单质硫或分解含硫有机物产生硫化氢,从而加速金属在电解质溶液中的腐蚀。金属与电解质溶液(潮湿大气、海水、电解质水溶液)发生电化学反应,金属与腐蚀介质直接发生反应,使金属表面状态收到破坏,由于微生物生命活动产物的作用而产生的腐蚀称为生物腐蚀。联合因素往往比单个因素分别作用后叠加的效果更为严重。局部腐蚀破坏的形态较多,危害比全面腐蚀大。全面腐蚀可以是均匀的,也可以是不均匀的。危险性较小的腐蚀,在设计时容易控制。均匀腐蚀速度、腐蚀裕量。

2023-08-07 19:24:31 341

原创 Mac删除launchpad顽固图标

mac使用技巧

2023-02-04 15:01:33 474 1

原创 简单柱形图

Choosing the Right Statistical TestStatistical Hypothesis Testing OverviewNonparametric Tests vs. Parametric TestsMultiple comparisonsParametric tests of meansNonparametric tests of medians1-sample t-test1-sample Sign, 1-sample Wilcoxon2.

2022-03-28 12:12:50 548

原创 Scientific Figure Preparation in Adobe Illustrator

1. 查看目标期刊对图片的要求大多数期刊有它们对图片的具体要求长度,宽度,色彩模式,分辨率,字体,字体大小,面板字母大小,线的宽度Ctrl+N 新建文件对画板的单位,宽度,长度,色彩模式,分辨率进行设定在window栏中调出以下面板PropertiesSwatchesAttributesCharacterCharacter StylesGlyphsAlignTransform新建一个名为 Scientific Figure Prep的workspace,以便之后重复使用导

2022-03-22 19:59:41 400

原创 R-因子.

因子因子 用于存储类别向量的特殊变量类型,有时像字符串,有时像整数1. 创建因子用一列文本数据创建数据框时,R将文本默认为类别数据并进行转换heights <- data.frame( height_cm = c(153, 181, 150, 172, 165, 149, 174, 169, 198,163), gender = c( "f", "m", "f", "m", "m", "f", "f", "m", "m", "f" ))class(height$gender

2022-02-27 15:01:25 237

原创 R-字符串

字符串文本数据存储在字符向量中(或字符数组中,虽然这比较少见)字符向量中的每个元素都是字符串,在R中,“字符串”是个常用的非正式术语,因为正式的“字符向量元素”读起来相当拗口文本的基本单位是字符向量,这意味着大部分字符串处理函数也能用于字符串向量,这与数学运算的向量化方式相同1. 创建和打印字符串字符向量可用c函数创建,可以用单引号或双引号把字符串引用出来,只要引号之间匹配即可,不过使用双引号更为标准c( "You should use double quotes most of the ti

2022-02-26 11:08:38 645

原创 R-函数2

向其它函数传递和接收函数函数可以向其它变量类型一样使用,可以将其作为其它函数的参数,并且从函数中返回一个常见的,把其它函数当成参数的例子是do.call,这个函数提供了一种调用其它函数的替代语法,让我们可以像列表一样传递参数,而不是逐次传递do.call(hypotenuse, list(x=3, y=4)) # 和hypotenuse(3, 4)一样## [1] 5最常见的案例是do.call和rbind混用,结合这两个函数,可以依次拼接多个数据框或矩阵dfr1 <- data.fra

2022-02-25 10:36:50 98

原创 R-函数1

函数大多数的变量类型仅用于存储数据,而函数能让我们和数据一起工作,它们是动词,而非名词和环境类似,它们只是另一种数据类型,可以分配、操纵,甚至将它传递给其它函数的数据类型创建和调用函数键入一个函数的名称,将显示其运行的代码rt## function(n, df, ncp)## {## if(missing(ncp))## .External(C_rt, n, df)## else rnorm(n, ncp)/sqrt(rchisq(n, df)/df)## }## <by

2022-02-24 12:02:58 1212

原创 R-数据框+环境

数据框数据框 用于存储类似电子表格的数据可被看作是每列可存储不同数据类型的矩阵,或是非嵌套的列表,其中每个元素具有相同的长度创建数据框data.frame函数a_data_frame <- data.frame( x = letter[1:5], y = rnorm(5), z = runif(5) > 0.5)class(a_data_frame)## [1] "data.frame"每类的类型可以和其它列不一样,但在同一列中的元素类型必须相同colnamesro

2022-02-23 11:38:03 360

原创 R-列表.

列表不严格地说,列表是一个向量,其中每个元素的类型可以不同创建列表list函数创建列表,列表中的元素变量的类型不限,可以是向量、矩阵,甚至函数,还可以把列表作为一个列表的元素a_list <- list( c(1,1,2,5,14,42), month.abb, matrix(c(3,-8,1,-3), nrow = 2), asin)可以在创建列表时就给元素命名,或者在创建完之后再用names函数命名the_same_list <- list( catalan = c

2022-02-22 11:45:43 378

原创 R-矩阵和数组

矩阵和数组数组能存放多维矩形数据,“矩形”指每行的长度都相等,且每列和其它长度也是如此,矩阵是二维数组的特例创建数组和矩阵array函数 创建数组 传入值和维度作为参数three_d_array <- array( 1:24, dim = c(4, 3, 2), dimnames = list( c("one", "two", "three", "four"), c("ein", "zwei", "drei"), c("un", "deux") ))matrix函数

2022-02-21 11:46:34 325

原创 R-向量.

向量冒号运算符 创建一个从某个数到另一个数的数字序列c函数 拼接数值和向量vector函数 创建一个指定类型和长度的矢量 其内容可以为空vector("numeric", 5)## [1] 0 0 0 0 0vector("complex", 5)vector("logical", 5)vector("chracter", 5)vector("list", 5)numeric(5)## [1] 0 0 0 0 0complex(5)logical(5)character(5)

2022-02-20 15:31:42 177

原创 R-检查和更改类+检查变量+工作区

1. 检查和更改类交互方式检查变量: class函数脚本方式测试对象类型: is函数if(!is(x, "some_class")){ # 采取某些纠正措施}大部分的类都有自己的is.*函数,直接调用它们会更加高效assertive包中有更多的is函数is.character("red lorry, yellow lorry")## [1] TRUEis.logical(FALSE)## [1] TRUEis.list(list(a=1, b=2))## [1] TRUE#

2022-02-19 10:16:45 311

原创 R_变量赋值+特殊数字+逻辑向量+类+不同类别的数字+其它通用类

1. 变量赋值在R中,可以使用<-或者=来给(本地)变量赋值在给变量赋值前,不需要声明变量。事实上,R中不存在这种概念变量名: 包含字母、数字、点和下划线,但系统的保留字是不允许的,也不能以数字或一个点后加数字开头关于命名规则的细节,详情见?make.names可以用<<-来对全局变量赋值另一个变量赋值方法是使用assign函数,不过assign函数不会检查第一个参数是否为一个有效的变量名assign("my_local_variable", 1^3 + 12^3, glob

2022-02-18 15:23:32 741

原创 R-从R中获取帮助+科学计算器

1. 从R中获取帮助查找某个函数# 打开mean函数的帮助页面?mean help("mean")# 打开加号操作的帮助页面?"+" help("+")# 打开if的帮助页面,用于分支代码?"if" help("if")# 搜索所有包含"plotting"的主题??plottinghelp.search("plotting")# 搜索所有与regression model相关的主题??"regression model" help.search("regression

2022-02-17 15:08:36 400

原创 Linux Shell脚本攻略-行排序+uniq+临时文件命名与随机数

行排序uniq一般和sort一起使用sort file1.txt file2.txt > sorted.txtsort file1.txt file2.txt -o sorted.txt# 按照数字顺序排列sort -n file.txt

2022-02-04 18:07:09 952

原创 Linux Shell脚本攻略-玩转xargs

玩转xargsUnix命令可以从标准输入(stdin)或命令行参数中接受数据。利用管道可以将一个命令的标准输出传入到另一个命令的标准输入可以用别的方法来调用只能接受命令行参数的命令,最简单的方法就是使用反引号执行命令,然后将其输出作为命令行参数$ gcc `find '*.c'`这种方法在很多情况下都管用,但是如果要处理的文件过多,则会出现Argument list too long。xrag命令可以解决这个问题xargs命令从stdin处读取一系列参数,然后使用这些参数来执行指定命令。能将单行

2022-01-17 22:15:03 1131

原创 Linux Shell脚本攻略-用cat进行拼接+录制并回放终端会话+查找并列出文件

1. 用cat进行拼接cat代表conCATenate(拼接)cat命令可以读取文件、拼接数据,还能从标准输入种读取# 1. 打印单个文件的内容$ cat file.txtThis is a line inside file.txtThis is the second line inside file.txt# 2. 打印多个文件的内容$ cat one.txt two.txtThis is a line from one.txtThis is a line from two.tx

2022-01-15 21:35:17 2257

原创 Linux Shell脚本攻略-使用配置文件定制bash

使用配置文件定制bash在命令行中输入的绝大部分命令都可以放置在一个特殊的文件中,留待登录或启动新的bash会话时执行。将函数定义、别名以及环境变量设置放置在这种特殊文件中,是一种定制shell的常用方法应该使用哪些定制文件?Linux和Unix中能够放置定制脚本的文件不止一个。这些配置文件分为3类;登录时执行的、启动交互式shell时执行的以及调用以及调用shell处理脚本文件时执行的当用户登录shell,会执行下列文件/etc/profile, $HOME/.profile, $HOME/.b

2022-01-14 10:05:25 452

原创 Linux Shell脚本攻略-持续运行命令直至执行成功+字段分隔符和迭代器+比较与测试

持续运行命令直至执行成功repeat(){ while true do $@ && return donerepeat() { while true; do $@ && return; done }}函数repeat()中包含了一个while无限循环,该循环执行以函数参数形式(通过$@访问)传入的命令。如果命令执行成功,则返回,进而退出循环一种更快的做法在大多数现代系统中,true是作为/bin中的一个二进制文件来实现的。这就意味着每执行一次wh

2022-01-14 10:05:04 1451

原创 Linux Shell脚本攻略-Bash函数的技巧+将一个命令的输出发送给另一个命令+在不按回车键的情况下读入n个字符

Bash函数的技巧递归函数递归调用,可以调用自身的函数F() { echo $1; F hello; sleep 1; }Fork炸弹递归函数是能够调用自身的函数,这种函数必须有退出条件,否则就会不断地生成自身,直到系统耗尽所有的资源或是崩溃:(){ :|:&};:这个函数会一直生成新的进程,最终形成拒绝服务攻击函数调用前的&将子进程放进后台。这段危险的代码能够不停地衍生出进程,因而被称为Fork炸弹可以通过修改配制文件/etc/security/limits.con

2022-01-12 17:30:22 1172

原创 Linux Shell脚本攻略-调试脚本+函数和参数

调试脚本可以利用Bash内建的调试工具或按照易于调试的方式编写脚本# 1. 使用选项-x,启用shell脚本的跟踪调试功能$ bash -x script.sh # 打印出所执行的每一行命令以及当前状态$ sh -x script.sh# 2. 使用set -x和set +x对脚本进行部分调试#!/bin/bash# FileName: debug.shfor i in {1..6};do set -x echo $i set +xdoneecho "Script execut

2022-01-11 11:56:21 1032

原创 生信作业20220110

cat Athaliana_167_TAIR10.annotation_info.txt |grep GASA| awk -F "\t" '{print $3}' > At.GASA.listseqtk subseq Athaliana_167_TAIR10.protein.fa At.GASA.list > At.GASA.famuscle -in At.GASA.fa -out At.GASA.align.fahmmbuild At.GASA.hmm At.GASA.align.fa

2022-01-10 19:07:52 536

原创 Linux Shell脚本攻略-别名+获取并设置日期并延时

别名# 1. 创建别名alias new_command='command sequence'alias install='sudo apt-get install'# alias命令的效果只是暂时的,一旦关闭终端,所有设置过的别名就失效了# 为了使别名在所有shell中都可以,可以将其定义放入~/.bashrc文件中# 每当一个新的交互式shell进程生成时,都会执行~/.bashrc中的命令echo 'alias cmd="command seq"' >> ~/.bashrc

2022-01-10 12:31:58 822

原创 Linux Shell脚本攻略-重定向操作符+数组和关联数组

工作原理重定向操作符(>和>>)可以将输出发送到文件中,而不是终端默认情况下,重定向操作针对的是标准输出,如果想使用特定的文件描述符,必须将描述符编号置于操作符之前>等同于1>,>>等同于1>>处理错误时,来自stderr的输出被倾倒入文件/dev/null中,/dev/null是一个特殊的设备文件,它会丢弃接收到的任何数据,null设备通常也被称为黑洞,因为凡是进入其中的数据都将一去不复返补充内容从stdin读取输入的命令能以多种方式接收数

2022-01-10 12:31:51 337

原创 Linux Shell脚本攻略-使用shell进行数学运算+文件描述符与重定向

使用shell进行数学运算Bash shell使用let、(( ))和[ ]执行基本的算术运算。工具expr和bc可以用来执行高级操作no1=4;mo2=5;# let命令可以直接执行基本的算术运算## 当使用let时,变量名前不需要再添加$let result=no1+no2echo $result## 使用let来自加let no1++## 使用let来自减let no1--## let的简写形式let no1+=6let no1-=6# 操作符[ ]resul

2022-01-08 10:57:29 763

原创 Linux Shell脚本攻略-在终端中显示输出

命令都是在终端会话中输入并执行的。打开终端时会出现一个提示符。username@hostname$$表示普通用户,#表示管理员用户root。root是Linux系统中权限最高的用户。推荐使用普通用户(shell会在提示符中以$来表明这种身份)登录系统,然后借助sudo这类工具来运行特权命令。使用sudo <command> <argument>执行的效果和root一样shell脚本通常以shebang起始#!/bin/bashshebang是一个文本行,其中#!位

2022-01-08 10:24:47 5268

原创 Linux Shell脚本攻略-使用变量与环境变量

和编译型语言不同,大多数脚本语言不要求在创建变量之前声明其类型,用到什么类型就是什么类型。在变量名前面加上一个美元符号就可以访问到变量的值预备知识变量名:由一系列字母、数字和下划线组成,其中不包含空白字符。常用的惯例是在脚本中使用大写字母命名环境变量,使用驼峰命名法或小写字母命名其它变量所有的应用程序和脚本都可以访问环境变量可以使用env或printenv命令查看当前shell中所定义的全部环境变量$> envPWD=/home/clif/ShellCookBookHOME=/home/

2022-01-07 19:43:34 2214

原创 ggplot2-用ggplot2编程

简介好的数据分析都应该具有灵活性这一优点。如果数据发生变化,或者出现一些很不利于基本假设的信息时,这时候应该能够快速、便捷地更改之前地图形。重复地代码时灵活性地主要障碍。如果代码中很多都是重复、冗余的,那么当发生变化时就需要一处一处地去修改。这些繁杂地修改工作往往是很令人抓狂、沮丧地。通过展示如何用ggplot2编程,这一章将教导如何解决这些问题为了让代码更具灵活性,需要通过编写函数来减少重复地代码。当发现自己在不断地做同样的事情的时候,就需要归纳相同的功能,把它写成一个函数。如果不是很熟悉R里面函数的

2022-01-05 20:23:49 528

原创 ggplot2-为可视化建模3

模型层次的汇总信息从glance()开始,观察每个城市的模型拟合效果model_sum <- models %>% glance(mod)model_sum这个函数创建了一个变量,每一行代表每个城市的信息,每一行的变量或者是复杂度的汇总(例如df),或者是拟合结果的汇总(例如r.squared、p.value、AIC)。因为把多拟合的所有模型都有相同的复杂度(都有12项,每一项是一个月份),会着重考察拟合结果的汇总。R2是合理的出发点,因为它广为人知。可以使用点图来观察城市之间的差异

2022-01-04 11:22:15 264

原创 ggplot2-为可视化建模2

Texas房屋数据接下来使用txhousing数据集来继续探索建模和可视化之间地联系txhouisng这个数据有德州农工大学地房地产研究中心所收集。这个数据集包含了Texas城市的数据,记录了房屋销售量(sales)、总销量(volume)、售价平均值(average)、售价中位数(median)、待售房屋数量(listings)、库存月份长短(inventory)。数据实践跨度是2000年1月到2015年4月,每个月记录一次,每个城市有187条记录准备探究每一个城市随着时间变化销售数量的变化,因

2022-01-03 11:59:05 474

原创 ggplot2-为可视化建模1

简介建模是可视化的必备的工具,这一章,将探索以下两个建模和可视化之间的紧密联系将模型当成工具,用于去除图像中的明显模式。这种方法很有用,因为明显的模式会掩盖掉微小的效应。通常来说,最强的效应都是已知和可预计的,所以移除这些明显效应有助于观察数据不同寻常的部分其余情形下,数据太多,不能用顺手的图像来展示它们。模型有助于汇总数据,从而获得更高层次的观察本章将着重于线性模型来达成以上目标。线性模型是基础但强大的统计工具,强烈推荐Julian J. Faraway的两本书Linear Models w

2022-01-02 21:49:47 431

原创 ggplot2-数据变换3

有用的工具summarise()有时需要和别的函数一起协作,这类函数可以对n个值的向量进行计算并返回一个单值,比如:计数 n() n_distinct(x)中间值 mean(x) median(x)离散程度 sd(x) mad(x) IQR(x)极端值 quartile(x) min(x) max(x)位置 first(x) last(x) nth(x, 2)另外一个十分有用的方法是对逻辑向量使用sum()或mean()。当逻辑向量作为数值处理时,TRUE计为1,FALSE计为0,所以su

2022-01-01 23:03:22 401

原创 ggplot2-数据变换2

缺失值NA在R中用来表示缺失值,缺失值永远不会自己消失关于缺失值,最需要明白的是,它们是会传染的:除了极少数例外情况,一个包含缺失值的操作结果也将是一个缺失值。这是因为NA代表一个未知的值,几乎没有什么操作可以把它变为已知x <- c(1, NA, 2)x == 1#> [1] TRUE NA FALSEx > 2#> [1] FALSE NA FALSEx + 10#> 11 NA 12如果刚刚开始学习R,可能会尝试用==找缺失值x == NA#&g

2021-12-31 16:03:48 396

原创 ggplot2-数据变换1

简介数据整理十分重要,但它并不是数据调整的终点。通常,得到的变量并非100%合适,或是有时还需要先对它们做一些聚合才能对其可视化。这一章将展示如何利用dplyr包来解决这个(以及更多)问题dplyr提供了一系列数据操作的动词(函数),它们可以满足常见的95%的操作需求。dplyr和ggplot2很相似,区别仅仅在于一个提供图形的语法,而另一个提供数据操作的语法。和ggplot2一样,dplyr不仅仅提供了现成的函数,它还让人深入思考何谓数据操作。特别地,dplyr通过限制的方法帮助选择:与其在成千上万个

2021-12-30 16:03:20 382

原创 ggplot2-数据整理2

1. separate和unitespread和gather函数可以帮助解决数据中的变量放错了位置的问题,而separate和unite则是为了解决以下问题:多个变量挤在了同一列中,或是一个变量分散到了不同的列中举个例子,以下数据集记录了某种药物治疗的响应数据。它包含三个变量(时间、治疗状态和响应值),但是时间和治疗状态的数据被记在一起了,变成了一个变量:trt <- dplyr::data_frame(var = paste0(rep(c("beg", "end"), each = 3), "

2021-12-29 21:48:50 636

原创 ggplot2-数据整理1

简介实际情况中,数据集几乎不可能是干净整洁的整理数据的几大原则(Wickham,2014).遵循这些原则对数据进行整理将使其更便于利用ggplot2进行可视化,或利用dplyr进行操作,以及利用许多建模的包来进行建模。整理数据的工具主要由tidyr包支持,它可以帮助清晰凌乱的数据集不少的可视化操作都需要先转换数据的格式,如从已有变量中创建新的变量或是进行简单聚合以便看到整片“森林”1. 数据整理整理数据的原则很简答:让数据变得更好用。数据整理是一个从数据框的统计结构(变量与观测)到形式结构(列与行

2021-12-28 22:05:20 636

原创 ggplot2-主题4

1. 面板元素面板元素控制图像面板的外观元素制定者描述panel.backgroundelement_rect()面板背景(数据下面)panel.borderelement_rect()面板边界(数据上面)panel.grid.majorelement_line()主网格线panel.grid.major.xelement_line()竖直主网格线panel.grid.major.yelement_line()水平主网格线panel

2021-12-27 19:20:58 980

原创 ggplot2-主题3

主题元素大约有40多个不同地元素控制着图像的外观。它们大致可以分为5类:图像、坐标轴、图例、面板、分面1. 图像元素一些元素控制着图像的总体效果元素制定者描述plot.backgroundelement_rect()图像背景plot.titleelement_text()图像标题plot.marginmargin()图像边距plot.background绘制图像中最底那一层的矩形。ggplot2默认设置中使用白色背景,从而确保无论图像的最终效果是怎

2021-12-26 11:18:31 1759

原创 ggplot2-主题2

修改主题组件如果想修改单个主题组件,需要使用形如如plot_theme(element.name = element_function())的代码内置元素函数有4种基本类型:文字(text)、线条(line)、矩形(rectangle)、空白(blank)。每个元素函数都有一系列控制外观的参数element_text()绘制标签和标题。可以控制字体的family(字体族)、face(字型)、color(颜色)、size(大小,单位是“磅”)、hjust(横向对齐)、vjust(竖向对齐)、angle

2021-12-25 16:27:07 998

科学网基金爬取.py

用于科学网基金爬取,用selenium写的

2020-11-26

WOS检索结果格式化输出并自动查询IF

由于每次导出WOS的检索结果,为期刊加上影响因子和修改excel的格式都太麻烦了,我写了个python脚本,来减轻工作量。需要random numpy os re和pandas库。用的是python3。

2020-05-27

jijinchaxun.py

自己写的国家自然基金查询python脚本,使用的是selenium的库。需要import time、selenium还有math的库,用的是python3,

2020-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除