特殊符号常用,但不好搜索,收藏起来做个备用,欢迎大家继续补充。
- (): 通常用于函数的调用,例如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>%,%$% 和 %<>%,具体查阅相应帮助文档。
创业项目群,学习操作 18个小项目,添加 微信:niuben22 备注:小项目!
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1553299181@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.comsoc.cn/1117.html
如若转载,请注明出处:https://www.comsoc.cn/1117.html