【问题标题】:How to create a numeric vector of zero length in R如何在 R 中创建一个长度为零的数字向量
【发布时间】:2023-03-17 23:52:01
【问题描述】:

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

【问题讨论】:

  • 我相信是numeric(0)
  • 如果你喜欢,别忘了接受答案!

标签: r vector numeric zero


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2021-03-18
      • 1970-01-01
      • 2022-06-17
      • 2021-10-17
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多