【发布时间】:2021-07-31 09:49:33
【问题描述】:
所以我被要求编写一个返回向量(特别是字符向量)的函数。 当向量为 NA 时,我应该打印一些东西。 当我检查一个我知道是空的向量时:
is.na(foo)
我明白了-
logical(0)
但是当我检查时:
is.na(foo[1])
我明白了
TRUE
这是为什么呢?
编辑 -
有人问我foo的来源是什么:
它来自库dplyr中的那个函数filter
state_name_vec <- filter(uscities, city == city_name)$state_name
我可以得到一个字符向量,一个字符(即其他语言中的字符串),或者,我猜是一个空字符向量。我想我也可以获得一个 data.frame,但就我而言,我没有。
我试图了解 .data 类型是什么意思,过滤器返回。
谷歌搜索后,我得到了这个:
所以我想我的问题是当.data 为空时会发生什么?
【问题讨论】:
-
你是如何定义
foo的,比如foo <- character()或? -
?'['表示带有NA的子集,例如foo[NA], “选择一个未知元素并返回NA”。没有提到通过不存在的整数索引进行索引,但我猜返回的逻辑是相同的。如果您使用[“选择未知元素”,则返回NA。