R语言中这些你想知道含义又不知道怎么查的特殊符号
特殊符号常用,但不好搜索,收藏起来做个备用,欢迎大家继续补充。
- (): 通常用于函数的调用,例如- ggplot(data); 或者调整优先级,如- 1:3+1返回- 2 3 4,而- 1:(3+1)返回- 1 2 3 4。
- []: 用于索引向量、列表、数据框。
- [[]]: 用于索引获得列表、数据框的具体值。
- $: 用于数据框索引某一列。三者的区别,具体见下面例子演示。
aVector <- 1:3+1
aVector[1]
## [1] 2
aList <- list(a=aVector, b=1:(3+1))
aList
## $a
## [1] 2 3 4
## 
## $b
## [1] 1 2 3 4
# 获取列表某个元素
aList['a']
## $a
## [1] 2 3 4
# 获取列表某个元素的值
aList[['b']]
## [1] 1 2 3 4
aDF <- data.frame(a=1:3,b=2:4)
# 列的名字直接写在$后面
aDF$a
## [1] 1 2 3
# 列的名字为变量时使用
aDF[['a']]
## [1] 1 2 3
# 数据框单列会变为向量
aDF[,1]
## [1] 1 2 3
# drop=F数据框单列也保持数据框结构
aDF[,1,drop=F]
##   a
## 1 1
## 2 2
## 3 3- {}: 一般用于界定语句块;如函数定义,- if语句和- for语句的作用范围等。
- ::和- :::: 通常是如- dplyr::filter(- 包名字::函数名)的方式显示制定调用某个包的某个函数。别人运行的好好的R代码,到我这怎么就冲突了?
- %in%: 判断存在与否,见下面例子
1 %in% c(1,2,3)
## [1] TRUE
10 %in% c(1,2,3)
## [1] FALSE- ...: 通常用于定义函数时接收额外的参数,传给内部调用的其它函数。
- =: 单个等号,一般是赋值和传参
- ==: 判断是否相等
- !=: 判断是否不等
- !: 逻辑非
- |,- ||: 逻辑或 (单竖线和双竖线意义不同)
- &,- &&: 逻辑与 (这里的- &就不是放在后台运行了~~)
1==1
## [1] TRUE
# 取反 
!1==1
## [1] FALSE
1!=1
## [1] FALSE
# 逻辑与
(1==1) & (1==2)
## [1] FALSE
# 逻辑或
(1==1) | (1==2)
## [1] TRUE
# 对每对元素计算逻辑或
c(F, T) | c(F, F)
## [1] FALSE  TRUE
# 只对两侧向量第一个元素进行逻辑或
c(F, T) || c(F, T)
## [1] FALSE
# 只对两侧向量第一个元素进行逻辑或
c(F, T) || c(T, F)
## [1] TRUE
# 对每对元素计算逻辑与
c(F, T) & c(F, F)
## [1] FALSE FALSE
# 只对两侧向量第一个元素进行逻辑与
c(F, T) && c(F, T)
## [1] FALSE
# 只对两侧向量第一个元素进行逻辑与
c(F, T) && c(T, F)
## [1] FALSE- ~: 用于构建公式;- y~x1+x2。
- `: 反引号- ` `在R中用于不规则变量名。
- ` - ?|- : 可以查看|`函数的帮助,这也是不规则变量名的一个体现。
# aDF = data.frame(Log2 Fold change=1:3)
# Error: unexpected symbol in "aDF = data.frame(Log2 Fold"
aDF = data.frame(`Log2 Fold change`=1:3)
aDF
##   Log2.Fold.change
## 1                1
## 2                2
## 3                3
aDF = data.frame(`Log2 Fold change`=1:3, check.names=F)
aDF
##   Log2 Fold change
## 1                1
## 2                2
## 3                3
aDF$`Log2 Fold change`
## [1] 1 2 3- !!: 通常配合- sym用于需要传入变量的函数中。- 具体见下面例子。 
xvariable_en = sym(xvariable)
yvariable_en = sym(yvariable)
p <- ggplot(data, aes(!!xvariable_en, !!yvariable_en))- %>%: 管道符,上一个函数的输出传递给下一个函数作为输入。来源于- magrittr包,同类型的还有- %T>%,- %$%和- %<>%,具体查阅相应帮助文档。
相关阅读:
往期精品(点击图片直达文字对应教程)
后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

评论



























