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


Answers:


112

如果你读的帮助vector(或numericlogicalcharacterintegerdouble,“原始”或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')

1
我对不赞成票表示歉意;这完全是偶然的,我只是发现它已经发生了。它不会让我改变。抱歉。
Stuart R. Jefferys

1
如果空向量用于保存日期,您将使用什么?
Zelbinian

@Zelbinian这是一个好奇心。您要这样做是什么?
BroVic


4

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

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

1
我不知道那里发生了什么。同样,我的回答是记下来。为什么???我想知道解释。谁能给我答案,为什么我的答案不正确?
Sahidul Islam医师

您正在使用向量元素的长度。
upInCloud

2
长度证明,数字矢量(此处为x)的长度矢量为零。x向量是从任何其他向量创建的。所以x是零长度的期望向量。您还应该清楚地检查问题的标题吗?@ShaaradDalvi
Sahidul伊斯兰教医师

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.