2017-08-09 102 views
0

基本上,我想要一個從10:15開始,然後是20:25的循環。 這怎麼可能?到目前爲止我的嘗試是以下(這看起來過於複雜,並且不起作用)。我希望沒有任何工作代碼能夠提供我想要實現的想法。傳遞給循環的索引參數

# dummy data set 
V1 <- as.data.frame(rnorm(20, 0, 1)) 

## attempt 
i <- c(10, 20) 
j <- c(15, 25) 
a <- 1 
for(a in 1:length(i)) { 
for(i[a] in i[a]:j[a]) { 
... 
} 
} 

在詞:利用第一(外)for循環中,我試圖其中I(啓動)和相應的矢量j的(端部)的被傳遞給第二(內)for循環值索引。所以,我想什麼都有,通過在內部的循環將是:

1:

for(10 in 10:15) { 
... } 

第二:

for(20 in 20:25) { 
... } 

回答

3

創建一個矢量,的組合兩個向量然後運行代碼

a <- seq(10,15) 
b <- seq(20,25) 
c <- c(a,b) 

for(i in seq(1,length(c))){ 
    print(c[i]) 
} 
0

基於對您的要求的理解,我認爲最簡單的解決方案是:

a <- 10:15 
b <- 20:25 
c <- c(a,b) 
for(i in 10:15){ 
    print(c[i]) 
} 
for(i in 20:25){ 
    print(c[i]) 
} 
1

你在做一個嵌套循環?如果沒有,那麼這個代碼應該工作:

s <- c(10:20,25:30,35:40) 
for(p in s) { 
    #your manipulations here. eg 
    print(p) 
}