如何查看R中的向量是否为空

ToB*_*eek 18 r

首先,我需要在R中初始化一个空向量,以下是否有效?

vec <- vector()
Run Code Online (Sandbox Code Playgroud)

我如何评估vec是否为空?

Yu *_*hen 18

似乎使用length(vector_object)有效:

vector.is.empty <- function(x) return(length(x) ==0 )

> v <- vector()
> class(v)
[1] "logical"
> length(v)
[1] 0
> vector.is.empty(v)
[1] TRUE
> 
> vector.is.empty(c())
[1] TRUE
> vector.is.empty(c(1)[-1])
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

请告知是否有任何案件未被承保.


ial*_*alm 3

从帮助文件vector

vector产生给定长度和众数的向量。
...

用法

vector(mode = "logical", length = 0)

如果运行代码vec <- vector()并对其求值,vec则返回logical(0)。大小为 0 的逻辑向量。这是有道理的,看看函数的默认参数vector是如何的vector(mode="logical", length=0)

如果你检查length(vec),我们知道向量的长度也是 0,这意味着我们的向量 ,vec是空的。

如果你想创建其他类型的非type向量,也可以阅读usinglogical的帮助文件。您会发现将生成一个空字符向量,将生成一个空整数向量,等等。vector?vectorvector(mode='character')vector(mode='integer')

您还可以通过调用其他“原子模式”的名称来创建空向量,如帮助文件中对它们的调用:

character()integer()numeric()/ double()complex()character(), 和raw()