【发布时间】:2023-03-17 23:52:01
【问题描述】:
我想知道,如何在 R 中创建数字零长度向量?
【问题讨论】:
-
我相信是
numeric(0)。 -
如果你喜欢,别忘了接受答案!
我想知道,如何在 R 中创建数字零长度向量?
【问题讨论】:
numeric(0)。
如果您阅读了vector(或numeric或logical或character或integer或double、'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')
【讨论】:
简单地说:
x <- vector(mode="numeric", length=0)
【讨论】:
假设您要创建一个长度为零的向量 x。现在让 v 为任意向量。
> v<-c(4,7,8)
> v
[1] 4 7 8
> x<-v[0]
> length(x)
[1] 0
【讨论】:
这不是一个非常漂亮的答案,但它是我用来创建零长度向量的方法:
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
【讨论】: