stacAR2 <- function(par) all(abs(polyroot(c(1, -par))) > 1)

verzia1 <- function(N){
  x <- rnorm(N)
  y <- rnorm(N)
  df <- data.frame(x,y)
  stac <- apply(df, 1, stacAR2)
  return(stac)
}

verzia2 <- function(N){
  x <- rnorm(N)
  y <- rnorm(N)
  df <- data.frame(x,y)
  stac <- rep(0, N)
  for(i in 1:N) stac[i] <- stacAR2(as.numeric(df[i,]))
  return(stac)
}
 
library(microbenchmark)
cas2 <- microbenchmark(verzia1(10^2), verzia2(10^2))
cas2
## Unit: microseconds
##           expr    min     lq     mean  median      uq     max neval
##  verzia1(10^2)  527.8  543.5  761.566  555.95  594.95 10978.3   100
##  verzia2(10^2) 2695.3 2748.7 3021.046 2819.70 2919.60  7952.6   100
boxplot(cas2)

cas4 <- microbenchmark(verzia1(10^4), verzia2(10^4))
cas4
## Unit: milliseconds
##           expr      min       lq     mean    median       uq      max neval
##  verzia1(10^4)  33.2647  35.8198  37.1365  36.72045  37.9802  78.7245   100
##  verzia2(10^4) 260.0741 269.7579 277.1615 275.66100 280.6500 335.6629   100
boxplot(cas4)