1

コードについて

nobs <- 10
nskip <- 3
x <- 1:nobs    
print(x)    
print(x[4:10])    
print(x[nskip+1:nobs])

出力は

[1]  1  2  3  4  5  6  7  8  9 10    
[1]  4  5  6  7  8  9 10   
[1]  4  5  6  7  8  9 10 NA NA NA

出力の最後の 2 行が異なる理由がわかりません。NA があるのはなぜですか?

4

2 に答える 2

1

いくつかの括弧がありません。これを行うときに得られるシーケンスを見てください

nskip + 1:nobs
# 4  5  6  7  8  9 10 11 12 13

1から各要素nobsに追加するまでのシーケンスを生成しています。要素 11 ~ 13 が 内に存在しないため、nskipを取得しています。NAx

正しいシーケンスを生成するには、括弧を含める必要があります。

print(x[(nskip+1):nobs])

これで、括弧の間の部分が最初に評価されるため、 と の間にシーケンスが生成され(nskip + 1)ますnobs

于 2013-06-14T14:12:43.087 に答える