Dear R helpers I have following two data.frames viz. equity_data and param.
equity_data = data.frame(security_id = c("Air", "Air", "Air", "Air", "Air", "Air", "Air", "Air", "Air", "Air", "Air", "Air", "AB", "AB", "AB", "AB", "AB", "AB", "AB", "AB", "AB", "AB", "AB", "AB", "AD", "AD", "AD", "AD", "AD", "AD", "AD", "AD", "AD", "AD", "AD", "AD"), ason_date = c("10-Jan-12","9-Jan-12","8-Jan-12", "7-Jan-12", "6-Jan-12","5-Jan-12","4-Jan-12","3-Jan-12","2-Jan-12","1-Jan-12", "31-Dec-11", "30-Dec-11", "10-Jan-12","9-Jan-12","8-Jan-12", "7-Jan-12", "6-Jan-12","5-Jan-12","4-Jan-12","3-Jan-12","2-Jan-12","1-Jan-12", "31-Dec-11", "30-Dec-11", "10-Jan-12","9-Jan-12","8-Jan-12", "7-Jan-12", "6-Jan-12","5-Jan-12","4-Jan-12","3-Jan-12","2-Jan-12","1-Jan-12", "31-Dec-11", "30-Dec-11"), security_rate = c(0.597,0.61,0.6,0.63,0.67,0.7,0.74,0.735, 7.61,0.795,0.796, 0.84, 8.5,8.1,8.9,8.9,8.9,9,9,9,9,9,9,9,3.21,3.22,3.12, 3.51, 3.5, 3.37, 3.25, 3, 3.07, 3, 2.94, 2.6)) param = data.frame(confidence_level = c(0.99), holding_period = c(10), calculation_method = "MC", no_simulation_mc = c(100)) library(plyr) library(reshape2) attach(equity_data) attach(param) security_names = unique(equity_data$security_id) # (security_names are used further in R code not included here) alpha = param$confidence_level t = param$holding_period n = param$no_simulation_mc method = param$calculation_method mc_VaR = function(security_id, ason_date, security_rate) { security_rate_returns <- NULL for (i in(1:length(ason_date)-1)) { security_rate_returns[i] = log(security_rate[i]/security_rate[i+1]) } return_mean = mean(security_rate_returns) return_sd = sd(security_rate_returns) simulation = rnorm(n, return_mean, return_sd) qq = sort(simulation, decreasing = TRUE) VaR_mc = -qq[alpha * n]*sqrt(t) return(VaR_mc) } result_method_other <- dlply(.data = equity_data, .variables = "security_id", .fun = function(x) mc_VaR(ason_date = x$ason_date, security_id = x$security_id, security_rate = x$security_rate)) > result_method_other $AB [1] 0.2657424 $AD [1] 0.212061 $Air [1] 6.789733 attr(,"split_type") [1] "data.frame" attr(,"split_labels") security_id 1 AB 2 AD 3 Air MY PROBLEM : My original data (i.e. equity_data) has the order of "Air", "AB" and "AD". However, after applying plyr, my order (and corresponding result) has changed to "AB", "AD" "Air". I need to maintain my original order of "Air", "AB" and "AD". How do I modify my R code for this? Kindly guide Vincy [[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.