私は本当にすぐに最終決定を下します。ここに教師が投稿した例がありますが、実際に理解できません。Rプログラミング言語 - ループ
1. for
とnext
for(i in 1:3)
{
print("a")
next
print("b")
}
プリント
[1] "a"
[1] "a"
[1] "a"
2.Nested for
どのように次のステートメントは、ここで働いていますか?私が知っているいくつかの条件が設定されている場合、ループを続ける例は(if i==3) {next}
だから、i=3
の収益は無視しますが、条件に該当しないときはどのように動作しますか?すべてのウェブを検索しましたが、回答が見つかりませんでした
for(i in 1:3){
for(j in 1:3)
for(k in j:i)
print("*")
}
上記のコードは17個の星を生成します。どうやって ?
3.Another謎
my.vector <- c(1,5,9,13)
my.data <- c()
for(i in my.vector){
if(i <= 5){
my.data <- c(my.data, "small")
}else{
my.data <- c(my.data, "huge")
}
my.data <- c(my.data, i)
}
上記のコードの出力は、真剣にどのように "9"、 "巨大"、 "13"
ですか?それは "小さい"、 "小さい"、 "巨大な"、 "巨大"であってはなりませんか?
彼らは内のオブジェクトを育てるためにあなたを教え止めるべき教師に知らせますループ。通常、Rの 'for'ループにはより良い選択肢がありますが、それらを使用する場合は、戻りオブジェクトを事前に割り当ててください。 'next'について:いつもコードと呼ばれるので、常に次の繰り返しにジャンプします。それ以降のコードは常に無視されます(したがって、この例は愚かです)。私はなぜ彼らがあなたに「次を」教えるのか分からない。 Rを使って5年以上経った今、私は決して「次を」使っていません。 – Roland
これらのタイプの問題を自分自身で解決する素晴らしい方法は、 'print(i)'のような追加のprint文を挿入してループ内の動きを追跡することです。 – lmo