如何在 R 中创建一个长度为零的数字向量

Posted

技术标签:

【中文标题】如何在 R 中创建一个长度为零的数字向量【英文标题】:How to create a numeric vector of zero length in R 【发布时间】:2012-09-18 20:37:48 【问题描述】:

我想知道,如何在 R 中创建数字零长度向量?

【问题讨论】:

我相信是numeric(0) 如果你喜欢,别忘了接受答案! 【参考方案1】:

如果您阅读了vector(或numericlogicalcharacterintegerdouble、'raw'或complex等)的帮助,那么您将看到它们都是有一个 length(或 length.out 参数,默认为 0

因此

numeric()
logical()
character()
integer()
double()
raw()
complex() 
vector('numeric')
vector('character')
vector('integer')
vector('double')
vector('raw')
vector('complex')

全部返回相应原子模式的长度为 0 的向量。

# the following will also return objects with length 0
list()
expression()
vector('list')
vector('expression')

【讨论】:

我为否决票道歉;这完全是偶然的,我只是注意到它发生了。它不会让我改变。对不起。 如果空向量是用来保存日期的,你会用什么? @Zelbinian 真是好奇。你这样做的目的是什么?【参考方案2】:

简单地说:

x <- vector(mode="numeric", length=0)

【讨论】:

【参考方案3】:

假设您要创建一个长度为零的向量 x。现在让 v 为任意向量。

> v<-c(4,7,8)
> v
[1] 4 7 8
> x<-v[0]
> length(x)
[1] 0

【讨论】:

我不知道那里发生了什么。我的答案再次被标记。为什么???我想知道解释。谁能给我答案为什么我的答案被打分了? 你正在取向量元素的长度。 Length 已证明,数字向量(此处为 x)具有零长度向量。 x 向量是从任何其他向量创建的。所以 x 是所需的零长度向量。您还应该清楚地检查问题的标题吗? @ShaaradDalvi【参考方案4】:

这不是一个非常漂亮的答案,但它是我用来创建零长度向量的方法:

0[-1]     # numeric
""[-1]    # character
TRUE[-1]  # logical
0L[-1]    # integer

文字是长度为 1 的向量,[-1] 从向量中删除第一个元素(在本例中为 only 元素),留下一个元素为零的向量。

作为奖励,如果您想要相应类型的单个 NA

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer

【讨论】:

以上是关于如何在 R 中创建一个长度为零的数字向量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 R 中创建具有特定间隔的向量?

R:向向量的某些索引添加值

在 R 中创建我自己的蜘蛛图而不使用任何库

如何在python中创建一个N次方的特征向量?

NSFetchedResultsController 创建日期为零的部分

matlab找出两个向量都不为零的元素,并找出元素的位置