R将索引变量组合成向量

时间:2018-08-13 18:44:38

标签: r vector

我有以下变量x11 x12 x13 x21 x22 x23 .... x51,x52,x53

我想要一个包含上述所有值的向量

x <-c(x11,x12,....,x53)

除了单独输入所有名称之外,是否有一种简单的方法可以将它们组合为向量?

这只是一个例子,变量名已建立索引,但更为复杂,此类变量也不止5套。

我认为所有答案都可以缓解此问题。也许我应该更加清楚。

基本上,变量名Xij有2个索引,

一个例子是,我的范围是1-3,j的范围是1到5。因此变量为:

X11 X12 X13;
X21 X22 X23;
....;
X51 X52 X53;

所有答案都可以轻松地应用于i = 1 ... 5的每组Xijs,以创建5个向量:

Y1包含X11-X13中的值 .. Y5包括X51-X53。

然后Y可以合并为Z。

2 个答案:

答案 0 :(得分:0)

我不建议任何人这样做,但是您可以

arr <- c()
for (i in c(11:53)) {
  arr <- c(arr, get(sprintf("x%d", i)))
}

根据需要更改范围。

答案 1 :(得分:0)

# get all varnames in global environment with name that matches pattern
vars <- ls()[grepl("x", ls())] 

# combine those objects
unlist(lapply(vars, get))