r语言 - 页面列表中包含的参数



我想定义运算符%in%,其操作是返回TRUE如果left上的参数在右侧的列表中,否则FALSE。应在不使用循环的情况下实现该任务。

### Creating a simple list
ell <- list( 2, c( 2, 5), list( c( 2, 8)), "xyz")
### Testing of selected elements
2 %in% ell
5 %in% ell
list( c( 2, 8)) %in% ell
list( list( 2, 8)) %in% ell
"xyz" %in% ell
[1] TRUE
[1] FALSE
[1] TRUE
[1] FALSE
[1] TRUE

就像MrFlick在评论中说的那样,不要覆盖内置运算符,它肯定会破坏某些东西。
试试这个,看看它是否做你想要的。我已将新运算符命名为 %IN%,因为 R 区分大小写。

`%IN%` <- function(x, y){
  x %in% unlist(y, recursive = FALSE)
}
2 %IN% ell
#[1] TRUE
5 %IN% ell
#[1] TRUE
list( c( 2, 8)) %IN% ell
#[1] TRUE
list( list( 2, 8)) %IN% ell
#[1] FALSE
"xyz" %IN% ell
#[1] TRUE

相关内容

  • 没有找到相关文章

最新更新