2017-09-06 68 views
1

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

例如,如果我的矢量是

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) 

由于可变长度和可变位置(二者已知的)的I输入矢量,我需要自动执行此操作。接下来的载体可能是1:123具有不同位置的类别A和B.

+2

用'paste0( “A”,seq_along(指数A))'和'paste0尝试( “B”,seq_along(indexB))' – akrun

+0

@akrun如果你做发布它作为答案,我会接受它。值得赞赏的是,如何将这些名称分配给矩阵的相应行。 – Trilobite

回答

1

我们使用seq_along得到vectorpaste字母"A""B"的顺序给予的名称属性矢量

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

同样,这可以用 'indexB'