R语言中%||%运算符的作用是什么,属于哪个扩展包?
%||%运算符说明
作用
%||%是空值 fallback 运算符,逻辑非常简单:如果左侧运算对象为NULL,就返回右侧运算对象的值,否则直接返回左侧运算对象的值。
你给出的示例代码ind <- names(df) %||% seq_along(df)的实际效果等价于:
if (is.null(names(df))) { ind <- seq_along(df) } else { ind <- names(df) }
也就是优先用列表的名称作为索引,没有名称的话就用元素位置序列作为索引。
所属包
这个运算符最常见的来源是rlang包,purrr包也同样导出了该运算符,大部分tidyverse生态的包加载时都会间接导入这个运算符。如果运行时报错找不到该运算符,可以用两种方法解决:
- 安装加载rlang包:
install.packages("rlang") library(rlang)
- 直接在当前脚本中自定义该运算符,代码非常短:
`%||%` <- function(x, y) if (is.null(x)) y else x
内容的提问来源于stack exchange,提问作者Sandwichnick
相关产品推荐
相关产品推荐

