本来只想匹配 . ,但是在这里这个点代表了所有字符,于是返回了1 2 3。这个. 就是一个转义表达式。
分别提取含7-9的数字或3-4的数字的字符串
^XX就是以XX开头的意思
当^放在方括号内是取非的意思
2{2,3}是寻找2倍重复了2到3次的意思
2{2,}是寻找2倍重复了大于2次(2到+无穷)的意思
fo+表示+紧跟着的o可以被重复1次或1次以上
大括号也可以起到这样的作用
若想让紧跟在o后面的对fo都起作用,需要小括号
与+用法一致。+表示重复了1次或1次以上,*表示0次或0次以上。
.* 可以匹配任意字符
管道符连接前后,符合其一即会被返回
\\b也可以起到一样的作用,但\\b更灵活,既可以放开头也可以放结尾。(\\b主要是匹配边界)
\的作用就是说明^不是开头的意思,是要去匹配这个符号
对所有的转义符号都适用
1. NaN
R中的无定义数用NaN表示,即“Not a Number(非数)”。
不过在R中,R实际上是把NaN视作一个数的,当其参与运算时,返回结果总是NaN。我们可以使用is.nan()函数来检测计算结果有无定义,但是需要注意的是,对于NaN而言,is.finite()和is.infinite()都会返回FALSE。
2. NA
NA表示缺失值,即“Missing value”,是“not available”的缩写
3. Inf
R中的无穷大用Inf表示(即Infinity,无穷大),负无穷表示为-Inf。
要检查一个数是否为无穷,可以使用is.finite()或者is.infinite()函数
3. NULL
R语言中,NA代表位置上的值为空,NULL代表连位置都没有,变量为空,其长度为0,表明“空无一物”
将两个数据进行除法运算
而log2_foldchange就是我们需要的数据,发现里面有许多 NaN、 -Inf 、Inf ,想办法进行数据清洗。
都到这一步了,再绘制两个图形玩玩: