首页 > 学习课程 > 分析数据时你可能遇到一些奇奇怪怪的符号……
2022
05-02

分析数据时你可能遇到一些奇奇怪怪的符号……

在分析数据的时候,不管是数据表格中还是脚本中经常会出现一些奇奇怪怪的符号。这些符号中有些符号用法简单,而另一些符号功能特别强大。下面就以R语言为例,为大家整理一下常见符号的功能用法。

NaN

“Not a Number”的缩写,非数值,NaN参与运算时返回NaN。

a <- 0/0

a

#[1] NaN

a+1

#[1] NaN

NA

“Not available”的缩写,NA表示缺失值,NA参与运算时返回NA。

a <- c(1,2,3,6)

a

#[1] 1 2 3 6

b <- a[5]

b

#[1] NA

b+1

#[1] NA

length(b)

#[1] 1

NULL

表示不存在,empty,一般不参与运算。

c <- NULL

c

#NULL

c+1

#numeric(0)

length(c)

#[1] 0

INF

“Infinite”的缩写,表示无穷大,参与运算,需要注意的是R语言中零可以作为分母参与运算。

a <- 1/0

a

#[1] Inf

b <- -1*a

b

#[1] -Inf

1/a

#[1] 0

~

R语言公式(formula)中用于代替数学公式中的“=”,连接因变量和自变量,通常“~”左边是因变量,右边是自变量。

例如,y=ax+b 在R语言中表示为 y~ax+b。在基础绘图函数中,plot(x,y) 和plot(y~x)是等效的。

x<- cars $speed

y <- cars $dist

plot(x,y)

plot(y~x)

n

Windows使用“n” 回车换行(New line);Mac用“r” 回车换行(Carriage return),Linux用“rn”表示回车换行。

作图时可在坐标轴刻度文本标签中加入换行符,实现长刻度标签换行的效果。

t

“t” 表示制表符,可按Tab键生成,用于在文本文件中构建表格。

%%

%% 取模运算符,用于计算余数。

10/3

#[1] 3.333333

10%%3

#[1] 1

%/%

%/% 整除运算符,用于计算商。

10%/%3

#[1] 3

%>%

管道符号,magrittr、dplyr包提供的特殊操作符号。可以无需嵌套或创建中间变量,直接将上一个函数的运算结果输入到下一个函数中进行运算。具体用法请参考 《对照着Excel入门R语言表格数据处理》 一文。

#可配合管道符号 %>%,简化脚本,本质就是省略输入变量;

by_Group_RNA3 <- dt %>% group_by(Group) %>% arrange(desc(RNA_log2FC),.by_group = TRUE)

%in%

匹配符号,判断“%in%”符号前面向量中的元素是否在“%in%”后面向量中存在,是match函数等价方式。

#判断前面一个向量内的元素是否在后面一个向量中,返回布尔值。

a <- c(1,2,3,6)

b <- c(1,5,3,4,1)

a %in% b

#返回内容

#[1] TRUE FALSE TRUE FALSE

逻辑运算符中的“非”,可用于取反。

#取反操作

!(a %in% b)

#[1] FALSE TRUE FALSE TRUE

:

“冒号”用于以向量形式生成公差为1的等差数列。

d <- 2:6

d

#[1] 2 3 4 5 6

::

作用域引用符,常用于不同R包具有同名函数时,指定使用特定R包中的某个函数。

dplyr:: select

( )

圆括号除了用于函数名称与函数参数的区分,还可用于打印变量,在之前的 《对照着Excel入门R语言表格数据处理》 一文有展示过。

(filted <- filter(tb,RNA_log2FC <= - 1| RNA_log2FC>= 1))

[ ]

主要用于提取、筛选、替换向量、数据框、矩阵等对象的数据,功能非常强大。

#提取共有元素;

a <- c(1,2,3,6)

b <- c(1,5,3,4,1)

a[a %in% b]

#[1] 1 3

# 筛选数据;

b <- b[1:4]

b

#[1] 1 5 3 4

a[a>2]

#[1] 3 6

# 替换数据;

a[a>2] <- 7

a

#[1] 1 2 7 7

# 创建数据框;

df <- data.frame(a,b)

df

#a b

#1 1 1

#2 2 5

#3 7 3

#4 7 4

# 按索引提取数据;

df[1,]

#得到数据框;

#a b

#1 1 1

df[2]

#得到数据框;

#b

#1 1

#2 5

#3 3

#4 4

df["b"]

#得到数据框;

#b

#1 1

#2 5

#3 3

#4 4

df[,2]

#得到向量;

#[1] 1 5 3 4

df[,"b"]

#得到向量;

#[1] 1 5 3 4

# 行列名称与索引混合使用;

df[2,"b"]

#[1] 5

I

逻辑运算符,表示“或”。需要注意运算的优先级,比如下面的比较运算的优先级要高于逻辑运算!

#结果不是想的那样?

2|3>5

#[1] TRUE

3>5

#[1] FALSE

2|FALSE

#[1] TRUE

&

逻辑运算符,表示“与”。另外,需要注意数值和逻辑值的转换关系,将数值转成逻辑值时;0=FALSE,<>0=TURE;反过来将逻辑值转成数值进行算术运算时,TRUE =1,FALSE=0 。

#逻辑运算:

0&3

#[1] FALSE

1&3

#[1] TRUE

-1&1

#[1] TRUE

2|3

#[1] TRUE

# 算术运算:

2-TRUE

#[1] 1

2+TRUE

#[1] 3

2+FALSE

#[1] 2

TRUE+FALSE

#[1] 1

TRUE-FALSE

#[1] 1

FALSE-TRUE

#[1] -1

$

用于提取数据对象列向量,常用于通过列名提取列。

范例用法:

table(pData(HSMM)$CellType)

@

用于提取S4对象中slot中的数据对象。

范例用法:

head(HSMM @phenoData@data)

以上就是我们在分析数据时会遇到的一些奇奇怪怪的符号,相信大家看完这篇文章后,以后遇到这些符号不会再觉得陌生啦~

最后编辑:
作者:萌小白
一个热爱网络的青年!

发布评论

表情