【问题标题】:Indexing with NA returns all NAs [duplicate]使用 NA 索引返回所有 NA [重复]
【发布时间】:2021-02-25 07:17:53
【问题描述】:

我已经进行了一些挖掘,但似乎找不到任何具体涉及输出返回原因的内容: 代码:c(0:5)[NA] 输出: NA NA NA NA NA NA

任何帮助将不胜感激!

【问题讨论】:

  • 请添加完整的代码、数据和预期输出。请参阅here 了解如何使问题变得更好。

标签: r na


【解决方案1】:

NA 是逻辑类型。

class(NA)
[1] "logical"

逻辑在 R 中有一个特殊的属性,称为向量循环。如果你用一个较小的子集对一个向量进行子集,它基本上会回收相同的值。

例子-

c(0:5)[c(TRUE, FALSE)] #returns
#[1] 0 2 4

#similarly

c(0:5)[c(FALSE, TRUE)] #returns
#[1] 1 3 5

这里也发生了同样的情况,逻辑 NA 值在整个长度中被回收(0:5 这里)并且你得到相同长度的 NA

c(0:5)[NA]
[1] NA NA NA NA NA NA

它将为其他 NA 提供不同的输出。

c(0:5)[NA_integer_]
#[1] NA

c(0:5)[NA_real_]
#[1] NA

【讨论】:

    猜你喜欢
    • 2021-11-21
    • 2018-07-02
    • 2021-04-02
    • 1970-01-01
    • 2017-04-15
    • 2019-06-10
    • 1970-01-01
    • 2018-10-21
    • 2019-06-11
    相关资源
    最近更新 更多