【问题标题】:Create names for a vector of arbitrary length in R?在R中为任意长度的向量创建名称?
【发布时间】:2017-09-06 10:01:04
【问题描述】:

我想创建一个函数,该函数使用位于任意(但已知)位置的两类变量来命名任意(但已知)长度的向量(或矩阵的行)。

例如,如果我的向量是

vec <- 1:8

我想通过提供将条目 1,3,5,7 命名为 A1,A2,A3,A4 并将条目 2,4,6,8 命名为 B1,B2,B3,B4

indexA <- c(1,3,5,7)
indexB <- c(2,4,6,8)

由于我输入了可变长度和可变位置的向量(都是已知的),因此我需要自动执行此操作。下一个向量可能是 1:123,类别 A 和 B 的位置不同。

【问题讨论】:

  • 试试paste0("A", seq_along(indexA))paste0("B", seq_along(indexB))
  • @akrun 如果您将其发布为答案,我会接受。将不胜感激有关如何将这些名称分配给矩阵的相应行的提示。

标签: r


【解决方案1】:

我们使用seq_along 得到vectorpaste 的序列,用字母"A""B" 将names 属性赋予向量

names(indexA) <- paste0("A", seq_along(indexA))
indexA     
# A1 A2 A3 A4 
# 1  3  5  7 

同样,这可以通过 'indexB' 来完成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2012-11-01
    • 2012-05-06
    • 2019-04-06
    相关资源
    最近更新 更多