レプリケートされた値の文字列を作成する必要があります。レプリケート数は特定の条件を満たすことに依存します。 例:これは単純化されており、実際のタスクと条件はより複雑です。異なるレプリケーション頻度の文字列をrに作成する
4回複製される4の整数を除いて、1:5の範囲内で3回の値を複製します。
次のように出力が見えるべきである:1 1 1 2 2 2 3 3 3 4 4 4 4 5 5 5
を私は範囲内の各値を検査するループを作成した:
場所です私が得た:
year<-(1:5)
r2<-NULL
for (x in 1:length(year))
if(is.integer(4)){
r<-rep(year[x],4)
}else{
r<-rep(year[x],3)
}
r2<-c(r2,r)
しかし、私を与えている: [1] 5 5 5
それはそれはoututを上書きしています見えます。
次のように私も事前定義タスクを試してみました:私を与えている
year<-(1:5)
r<-rep(year[x],4)
r2<-rep(year[x],3)
for (x in 1:length(year))
ifelse(is.integer(4),r,r2)
r3<-c(r2,r)
: [1] 5 5 5 5 5 5 5
しかし、それは条件を認識しないと同じ値の両方のオプションを受け入れ、出力を上書きしているようです。
私はこれが非常に簡単だと確信していますが、私はプログラミングに慣れていて、それでもまだ苦労しています。私は誰かが私にこれを手伝ってもらえると感謝しています。
ありがとうございます! (コメントの提案を次補正後の)
UPDATE:
year<-(1:5)
r2<-NULL
for (x in 1:length(year)){
if(year[x]%%4==0){
r<-rep(year[x],4)
}else{
r<-rep(year[x],3)
}
r2<-c(r2,r)
}
それは動作します!ありがとう!
ありがとうございました!これは実際の値ではないので、私はできません。私は365のエントリを持つうるう年の条件を満たすものを除いて、毎年私に365のエントリを与えるコードを生成しようとしています。期間は2500〜4000年をカバーするので、範囲は1:2050などになる可能性があります。 – EBB