【问题标题】:Is the argument included in the page list?参数是否包含在页面列表中?
【发布时间】:2019-01-21 16:03:40
【问题描述】:

我想定义运算符%in%,如果left上的参数在右侧列表中,则其操作返回TRUE,否则返回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

【问题讨论】:

  • 所以你想覆盖内置的%in% 操作符?这可能会破坏其他功能。
  • 非常感谢您的帮助:)

标签: r list compare


【解决方案1】:

就像 MrFlick 在comment 中所说的那样,不要覆盖内置运算符,它肯定会破坏某些东西。
试试这个,看看它是否符合您的要求。我已将新运算符命名为 %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

【讨论】:

  • 非常感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 2011-07-15
  • 2018-11-09
  • 2011-12-30
  • 2021-12-19
  • 1970-01-01
  • 2019-06-13
相关资源
最近更新 更多