Hello Julia, I'm afraid your code had multiple problems: variables declared but not used, incorrect or unnecessary use of the "c" function, out-of-bounds subscripts and overwriting of result objects.
Rather than point them all out in detail I've modified your code so that it works (see below). Please study this code and compare it to your original code. This will help you to understand how to do things more simply and reliably in R. Don't be discouraged - it takes practice :) Note, I didn't know whether you really wanted to retain the resultx and resultb matrices. I've left them in there just in case. Michael bidding.simulation <- function(nsim=10, N=200, I=5) { set.seed(180185) tau <- seq(0.48, 0.52, 0.001) tau.mid <- which(tau == 0.5) Ntau <- length(tau) mresultx <- matrix(-99, nrow=I*N, ncol=nsim) mresultb <- matrix(-99, nrow=I*N, ncol=nsim) h <- seq(0.001, 0.020, 0.001) Mb0 <- matrix(0, nrow=nsim, ncol=Ntau) Mb1 <- matrix(0, nrow=nsim, ncol=Ntau) colnames(Mb1) <- colnames(Mb0) <- paste("tau", tau, sep=".") Mhb0 <- matrix(0, nrow=nsim, ncol=tau.mid - 1) Mhb1 <- matrix(0, nrow=nsim, ncol=tau.mid - 1) colnames(Mhb1) <- colnames(Mhb0) <- paste("width", tau[(tau.mid - 1):1] - tau[(tau.mid + 1):Ntau], sep=".") for (i in 1:nsim){ mu <- runif(I*N) mx <- rep(runif(N), I) b0 <- rep(1, I*N) #function for private cost cost <- b0+b0*mx+mu #bidding strategy bid <- mx+((I+1)/I)+((I-1)/I)*mu mresultb[,i] <- bid mresultx[,i] <- mx qf <- rq(formula = bid ~ mx, tau = tau) coefs <- coef(qf) Mb0[i, ] <- coefs[1, ] Mb1[i, ] <- coefs[2, ] Mhb0[i, ] <- coefs[1, (tau.mid - 1):1] - coefs[1, (tau.mid+1):Ntau] Mhb1[i, ] <- coefs[2, (tau.mid - 1):1] - coefs[2, (tau.mid+1):Ntau] } # return results as a list list(Mb0=Mb0, Mb1=Mb1, Mhb0=Mhb0, Mhb1=Mhb1, mresultx=mresultx, mresultb=mresultb) } On 14 October 2010 05:37, Julia Lira <julia.l...@hotmail.co.uk> wrote: > > Dear all, > > > > I have just sent an email with my problem, but I think no one can see the red > part, beacuse it is black. So, i am writing again the codes: > > > > rm(list=ls()) #remove almost everything in the memory > > set.seed(180185) > nsim <- 10 > mresultx <- matrix(-99, nrow=1000, ncol=nsim) > mresultb <- matrix(-99, nrow=1000, ncol=nsim) > N <- 200 > I <- 5 > taus <- c(0.480:0.520) > h <- c(1:20/1000) > alpha1 <- c(1:82) > aeven1 <- alpha[2 * 1:41] > aodd1 <- alpha[-2 * 1:41] > alpha2 <- c(1:40) > aeven2 <- alpha2[2 * 1:20] > #Create an object to hold results. > M <- matrix(0, ncol=82, nrow=nsim) > Mhb0 <- matrix(0, ncol=20, nrow=nsim) > Mhb1 <- matrix(0, ncol=20, nrow=nsim) > Mchb0 <- matrix(0, ncol=20, nrow=nsim) > Mchb1 <- matrix(0, ncol=20, nrow=nsim) > for (i in 1:nsim){ > # make a matrix with 5 cols of N random uniform values > u <- replicate( 5, runif(N, 0, 1) ) > # fit matrix u in another matrix of 1 column > mu <- matrix(u, nrow=1000, ncol=1) > # make auction-specific covariate > x <- runif(N, 0, 1) > mx <- matrix(rep(x,5), nrow=1000, ncol=1) > b0 <- matrix(rep(c(1),1000), nrow=1000, ncol=1) > #function for private cost > cost <- b0+b0*mx+mu > #bidding strategy > bid <- mx+((I+1)/I)+((I-1)/I)*mu > mresultb[,i] <- bid > mresultx[,i] <- mx > qf <- rq(formula = mresultb[,i] ~ mresultx[,i], tau= 480:520/1000) > # Storing result and does not overwrite prior values > M[i, ] <- coef(qf) > QI <- (1-0.5)/(I-1) > M50b0 <- M[,41] > M50b1 <- M[,42] > Mb0 <- matrix(M[,aodd1], nrow=nsim, ncol=20) > Mb1 <- matrix(M[,aeven1], nrow=nsim, ncol=20) > for (t in aeven2){ > Mhb0[,t] <- M[,(41+t)]-M[,(41-t)] > Mhb1[,t] <- M[,(42+t)]-M[,(42-t)] > } > } > > > > The problem is in the part: > > for (t in aeven2){ > Mhb0[,t] <- M[,(41+t)]-M[,(41-t)] > Mhb1[,t] <- M[,(42+t)]-M[,(42-t)] > } > > > Since I want the software to subtract from column (41+t) of matrix called M > the column (41-t), in such a way that the matrix Mhb0 will show me the result > for each t organized by columns. > > > > Does anybody know what exactly I am doing wrong? > > > > Thanks in advance! > > > > Julia > > [[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. > ______________________________________________ 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.