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

94

我想知道如何在R中创建一个数值类型的长度为零的向量?


24
我认为它是 numeric(0) - Blue Magister
如果你喜欢这个答案,请不要忘记接受它! - Ander Biguri
4个回答

112
如果你查看vector(或者numericlogicalcharacterintegerdouble、"raw"或complex等)的帮助文件,你会发现它们都有一个length属性(或默认为0的length.out参数)。
因此,
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')

1
对于我的投票下降,我深表歉意;这完全是意外的,我刚刚才注意到它已经发生了。它不会让我改变。抱歉。 - Stuart R. Jefferys
1
如果空向量用于保存日期,你会使用什么? - Zelbinian
@Zelbinian 这很奇妙。你试图通过那样做实现什么目标? - BroVic

57

简单来说:

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

4

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

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

1
我不知道那里发生了什么。再次我的答案被扣分了。为什么???我想知道解释。是否有人可以告诉我为什么我的回答被扣分? - Md. Sahidul Islam
你正在获取向量元素的长度。 - upInCloud
2
长度是证明数值向量(这里的x)具有零长度向量的方法。而x向量是从任何其他向量创建的。因此,x是所需的零长度向量。此外,您应该清楚地检查问题的标题?@ShaaradDalvi - Md. Sahidul Islam

3
这并不是一个非常优美的答案,但这就是我用来创建零向量的方法:
0[-1]     # numeric
""[-1]    # character
TRUE[-1]  # logical
0L[-1]    # integer

字面量是长度为1的向量,[-1]会从向量中删除第一个元素(在这种情况下是唯一的元素),留下一个零元素的向量。

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接