Advertisement
Guest User

Untitled

a guest
Jan 15th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 0.93 KB | None | 0 0
  1. reindex <- function(u){
  2.   u_square <- as.numeric(u^2)
  3.   result <- list()
  4.   result$u <- as.numeric(u)
  5.   result$s <- c(0:length(u))/length(u)
  6.   result$eta_hat <- rep(0, (length(u) + 1))
  7.   for(i in 2:(length(u) + 1)){
  8.     result$eta_hat[i] <- (sum(u_square[1:floor(result$s[i]*length(u))]) +
  9.                             (result$s[i]*length(u) - floor(result$s[i]*length(u)))*
  10.                             u_square[(floor(result$s[i]*length(u)) + 1)])/sum(u_square)
  11.   }
  12.   result$eta_hat[length(result$eta_hat)] <- 1
  13.   result$eta_hat_inv <- rep(0, (length(u) + 1))
  14.   for(i in 2:(length(u) + 1)){
  15.     s <- i/length(u)
  16.     k <- length(result$eta_hat[result$eta_hat < s])
  17.     result$eta_hat_inv[i] <- (k-1)/length(u) +
  18.       1/(length(u)*(result$eta_hat[k+1] - result$eta_hat[k]))*(s - result$eta_hat[k])
  19.   }
  20.   result$eta_hat_inv[length(result$eta_hat_inv)] <- 1
  21.   result$new_index <- floor(result$eta_hat_inv*length(u))
  22.   return(result)
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement