【发布时间】:2021-05-27 19:04:49
【问题描述】:
c(0:5)[1] 为 0。
c(0:5)[2] 是 1。
但对于代码
c(0:5)[NA]
输出是
[1] NA NA NA NA NA NA
为什么 R 显示 6 个 NA 作为输出?
【问题讨论】:
c(0:5)[1] 为 0。
c(0:5)[2] 是 1。
但对于代码
c(0:5)[NA]
输出是
[1] NA NA NA NA NA NA
为什么 R 显示 6 个 NA 作为输出?
【问题讨论】:
c(0:5) 中的 c 是多余的。 0:5 已经是一个向量。由于运算符优先级,您仍然需要在 (0:5)[NA] 中的 0:5 周围加上括号。
您在这里看到的确切原因取决于[] 的实现,但结果很直观。 [] 不仅用于提取单个元素,还用于提取子集。如果索引向量不可用,那么对于原始向量的每个元素,它在您尝试提取的子集中的状态也是不可用的。
【讨论】: