-2
Rのこの2つのステートメントの違い、またはRでNULLを使用する理由は何ですか?あなたが割り当てされた第2のコードに単にNULLrでnullを使用する理由
for (i in 1:10) {
T=NULL
T[i]="a"
}
T
[1] NA NA NA NA NA NA NA NA NA "a"
Rのこの2つのステートメントの違い、またはRでNULLを使用する理由は何ですか?あなたが割り当てされた第2のコードに単にNULLrでnullを使用する理由
for (i in 1:10) {
T=NULL
T[i]="a"
}
T
[1] NA NA NA NA NA NA NA NA NA "a"
を用いて
for (i in 1:10) {
T[i]="a"
}
T
[1] "a" "a" "a" "a" "a" "a" "a" "a" "a" "a"
T = NULL
ので、すべての以前の状態が失われることになるが、TにNULL
を割り当てた後、最後のステップでは、ループはa
を割り当てますTの最後のインデックスに、最初のケースについて、したがって出力
for (i in 1:10) { # consider last step of loop
T=NULL # set T=NULL so all values are gone
T[i]="a" # set last index of T = 'a'
}
T
は、それは私はあなたが既に知っていると思いますどのいつものように実行されます。
'T = NULL'は変数' T'を初期化するために 'for()'ループの外側にあるべきです。しかし、 'T'は' TRUE'を表すRグローバル変数であるため、実際に最初のループで何が起こっているのか見ていません。 'x'のような' T'以外のものを試して、あなたが得るものを見てください。 –