代码
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
我不明白为什么最后两行输出不同 - 为什么有NA?
答案 0 :(得分:3)
将括号括起来(nskip + 1),操作顺序就像关闭一样。
答案 1 :(得分:1)
你缺少一些括号。看看你这样做时得到的序列
nskip + 1:nobs
# 4 5 6 7 8 9 10 11 12 13
它生成从1到nobs
的序列,然后将nskip
添加到每个元素。您收到NA
,因为x
中不存在元素11到13。
您需要包含括号以生成正确的序列。
print(x[(nskip+1):nobs])
现在,首先评估括号之间的部分,然后在(nskip + 1)
和nobs
之间生成序列。