5から0までの繰り返しパターンを作成し、5,3回戻って5,4,3,2,1,0,1 、2、3、4、5、...、5 これを行うにはどうすればいいですか?Rでパターンを繰り返す(整数を上下に)
私は は誰もが、私を助けることができます... rep
(seq(from=a, by=b, length=c),d)
機能を知っているが、このパターンでそれを使用する方法がわからない、私は
x <- 5
y <- 3
5から0までの繰り返しパターンを作成し、5,3回戻って5,4,3,2,1,0,1 、2、3、4、5、...、5 これを行うにはどうすればいいですか?Rでパターンを繰り返す(整数を上下に)
私は は誰もが、私を助けることができます... rep
(seq(from=a, by=b, length=c),d)
機能を知っているが、このパターンでそれを使用する方法がわからない、私は
x <- 5
y <- 3
を使用したいですseq
とrev
を使用できます。 5と0の繰り返しを2回繰り返したくないので、私はseq
コマンドにそれらを含めていません。 seq(4, 1)
とその逆(rev
)を3回繰り返します。
a = seq(4, 1)
c(rep(c(5, a, 0, rev(a)), 3), 5)
#[1] 5 4 3 2 1 0 1 2 3 4 5 4 3 2 1 0 1 2 3 4 5 4 3 2 1 0 1 2 3 4 5
これは別の考えです。 5:0
と0:5
というベクトルを作成することができます。その後、ベクトルを3回繰り返すことができます。最後に、rle
を使用してランレングス符号化を作成し、1より大きい長さを1に変更し、inverse.rle
を使用して最終出力を作成することができます。
x <- rep(c(5:0, 0:5), 3)
y <- rle(x)
y$lengths[y$lengths > 1] <- 1
z <- inverse.rle(y)
z
[1] 5 4 3 2 1 0 1 2 3 4 5 4 3 2 1 0 1 2 3 4 5 4 3 2 1 0 1 2 3 4 5
'loopnum < - 関数(N、回){ S < - SEQ(nは、1、-1)。 (loop)」と同じ結果を得るために 'loopnum(5、3)'を使用しています。 – thelatemail
short: 'c(rep(c(5:0,1:4)、3)、5)' –