Hi all, I have this data set: ## Empirical copula ## dt1 = ranking ## dt2 = observed uniform data associated with the ranking Sample data, > dt1 S_i R_i [1,] 7.0 10.0 [2,] 232.5 440.5 [3,] 143.0 141.5 [4,] 272.5 222.0 [5,] 46.0 34.0 [6,] 527.0 483.0 [7,] 420.5 563.5 [8,] 23.5 16.5 [9,] 56.5 68.5 [10,] 341.5 382.5 > dt2 unisk1 unisk2 [1,] 0.008 0.010 [2,] 0.298 0.615 [3,] 0.194 0.187 [4,] 0.357 0.297 [5,] 0.067 0.048 [6,] 0.767 0.687 [7,] 0.573 0.805 [8,] 0.032 0.025 [9,] 0.082 0.094 [10,] 0.452 0.516 for S_i data below, I have divided by 691: > cbind(dt1/(691+1),dt2) S_i R_i unisk1 unisk2 [1,] 0.01011561 0.01445087 0.008 0.010 [2,] 0.33598266 0.63656069 0.298 0.615 [3,] 0.20664740 0.20447977 0.194 0.187 [4,] 0.39378613 0.32080925 0.357 0.297 [5,] 0.06647399 0.04913295 0.067 0.048 [6,] 0.76156069 0.69797688 0.767 0.687 [7,] 0.60765896 0.81430636 0.573 0.805 [8,] 0.03395954 0.02384393 0.032 0.025 [9,] 0.08164740 0.09898844 0.082 0.094 [10,] 0.49349711 0.55274566 0.452 0.516 My code is n <- 691 Cn_u1.u2 <- function(dt1,dt2,n) { cn <- vector(length=n, mode="numeric") for (i in 1:n) { A <- as.numeric(dt1[i,1]/(n+1) <= dt2[1,1] & dt1[i,2]/(n+1) <= dt2[1,2]) cn[i] <- sum(A)/n } cn } What I want to do is to compare all ranking value with each uni data at a time using logical and if the it is true=1 and else =0. I use as.numeric() as what you suggested before. For example: calculate all where ( S_i <= unisk1[1] and R_i <= unisk2[1]) and continue the process for all unisk1 and unisk2. If n=691, I will have cn=691. Thank you so much for your help.
[[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.