我寫了下面的代碼,我需要重複這個100次,我知道我需要用戶另一個循環,但我不知道該怎麼做。下面是代碼:嵌套for循環在R
mean <- c(5,5,10,10,5,5,5)
x <- NULL
u <- NULL
delta1 <- NULL
w1 <- NULL
for (i in 1:7) {
x[i] <- rexp(1, rate = mean[i])
u[i] <- (1/1.2)*runif(1, min=0, max=1)
y1 <- min(x,u)
if (y1 == min(x)) {
delta1 <- 1
}
else {
delta1 <- 0
}
if (delta1 == 0)
{
w1 <- NULL
}
else {
if(y1== x[[1]])
{
w1 <- "x1"
}
}
}
output <- cbind(delta1,w1)
output
我想要的最終輸出爲100行×3列的矩陣表示的運行數,DELTA1,和W1。
任何想法都將得到真正的讚賞。
我不是確定這段代碼在做什麼。您正在以指數和均勻分佈進行繪製。然後你就可以從兩者中獲得最小化的實現。如果滾動最小值來自指數或不是,那麼您正在記錄。然後你測試'delta1 == 0'。我不知道你在這之後想要達到什麼目的。 – user1609452
min(exp,unif)...如果min是exp,那麼delta1 = 1,如果min = unif,那麼delta1 = 0 ...現在在這個點之後...如果delta1 = 0,那麼w1 = NULL,如果min = exp(即x [[1]])生成的第一個值,那麼w1 =「x1」...等 – user9292
是否要記錄從指數這是滾動最小值? – user1609452