2017-08-09 6 views
0

基本的には、10:15から20:25までのforループが必要です。 これはどのように可能ですか?これまでの私の試みは、以下の通りでした(複雑すぎて動作しないようです)。私は、何も達成できないコードが私が達成したいアイデアを与えることを願っています。forループに渡される索引付けの引数

すなわち
# 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]) { 
... 
} 
} 

は:ループの最初の(外)で、Iはループの第二(内側)に渡され、I(開始)と各ベクトルのJ(端)の値がインデックスに試みます。それでは、私はforループの内側には、そのことで、持ちたいことは次のようになります。

第一:

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

第二:

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

答えて

3

の組み合わせであるベクトルを作成します。 2つのベクトルとコードを実行する

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) 
} 
関連する問題