r - 参数是否包含在页面列表中?
问题描述
我想定义 operator ,如果 上的参数在右侧的列表中,则%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
推荐阅读
- swift - 无法在 RxSwift 中使用通用结果枚举错误
- reactjs - React Native - TypeError:this.addItem.bind
- php - 如何制作具有多个选项卡的过滤器并在laravel中动态获取数据
- android - 在 AsyncTask 中使用 onPostExecute 方法列表项单击事件调用 Android 中的另一个活动
- c++ - 如何在 C++ 中按值对地图进行排序,但如果键值相等?
- javascript - jQuery - onClick 在新页面中打开随机链接
- javascript - 通过 Jenkins 启动 Eclipse,变量从 jenkins 传递到 eclipse
- ios - 如何通过 CLI 擦除 Xcode 10 模拟器克隆?
- php - 带有阿拉伯字母的图像名称未显示在 html 页面中
- ruby-on-rails - Rails 从类方法中排除具有空关联的记录