Question: The R code `all(x > 0L)` is not very efficient if `x` is long because a temporary logical vector `x == 1` was created. Write

The R code `all(x > 0L)` is not very efficient if `x` is long because a temporary logical vector `x == 1` was created. Write an Rcpp function `allgt(x, y)` which takes a numeric vector `x` (assume there are no missing values) and a double `y` that checks if all the elements in `x` are greater than `y`. Benchmark the RCpp function and the R code with vectors of different proportions of positive numbers, e.g. `sample(c(1L, -1L), 1e5, prob = c(1-p, p), replace = TRUE)` for `p = 0.5, 0.05`, `0.005` and `0`. Comment on what you observe.
##### (a) The R code 'all(x > OL)' is not very efficient if 'x' is long because a temporary logical vector x == 1 was created. Write an Repp function "allgt(x, y) which takes a numeric vector X (assume there are no missing values) and a double 'y' that checks if all the elements in 'X' are greater than 'y'. Benchmark the RCpp function and the R code with vectors of different proportions of positive numbers, e.g. sample(c(1L, -1L), 1e5, prob = c(1-P, p), replace = TRUE)' for p = 0.5, 0.05, 0.005' and ''. Comment on what you observe. library(Rcpp)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
