使用seq函数时,得到以下输出:
>seq(1,4)
1 2 3 4
这将从序列中检索第二个元素
>seq(1,4) [2]
2
我理解这两个。但是,我不明白为什么以下代码会产生四个NA值
>seq(1,4) [NA]
NA NA NA NA
但是下面的示例不会初始化四个“ ABC”值,而不会初始化一个NA
>seq(1,4) ["ABC"]
NA
为什么会这样?
我认为这与seq函数无关。如果尝试使用NA对值进行子集化,则会返回NA的向量。
a <- c(1, 2)
a[NA]
这里重要的是NA
是逻辑的:
class(NA)
## [1] "logical"
和逻辑索引总是被回收。
seq(1, 4)[c(TRUE, FALSE)]
## [1] 1 3
如果使用整数NA,则不会发生:
seq(1, 4)[NA_integer_]
## [1] NA