Я хочу вернуть True / False о том, находится ли значение в группе значений - PullRequest
0 голосов
/ 21 апреля 2019

В RStudio я могу использовать следующий код, чтобы увидеть, находится ли мое значение слева в группе справа, и вернуть True / False. Как мне сделать это в C ++?


> 5 %in% c(4,8,10)
[1] FALSE
> 5 %in% c(4,5,10)
[1] TRUE
>

1 Ответ

1 голос
/ 25 апреля 2019

Вы можете использовать функцию in(), доступную в Rcpp, чтобы воссоздать инфиксный оператор %in%.

#include <Rcpp.h>

// [[Rcpp::export]]
Rcpp::LogicalVector match_with_in(Rcpp::NumericVector x, 
                                  Rcpp::NumericVector y) {

  // Mimic %in% with Rcpp
  Rcpp::LogicalVector matched_values = Rcpp::in(x, y);

  return matched_values;
}

Тест:

x = 5
y = c(4, 8, 10)
match_with_in(x, y)
#> [1] FALSE

z = c(4, 5, 10)
match_with_in(x, z)
#> [1] TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...