首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将计算序列赋值给r中的变量序列

如何将计算序列赋值给r中的变量序列
EN

Stack Overflow用户
提问于 2013-10-03 21:00:07
回答 1查看 122关注 0票数 0

我在循环中有一些棘手的挑战,我想在r中做,以使事情变得更快。如何将一个小计算序列赋给一个变量序列?示例:

代码语言:javascript
代码运行次数:0
运行
复制
fex1 = rbind(ben1,mal1)
fex2 = rbind(ben2,mal2)
fex3 = rbind(ben3,mal3)
....
....
fex40 = rbind(ben40,mal40)

其中ben(i)和mal(i)是序列1:40的7×13矩阵,并且fex(i)也是变量名1:40的序列。基本上,我已经将一些数据拆分到不同的文件夹中,并希望重新绑定拆分的数据集的组合来执行一些其他计算。我已经使用lapply在rbind和其他函数上进行循环,但是如何实现这一任务呢?将rbind这样的函数应用于矩阵序列,并将这些值存储在变量序列中。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-10-03 21:11:21

你真的应该在这里使用一个列表:

代码语言:javascript
代码运行次数:0
运行
复制
# 
ben <- <list of all your ben's>
mal <- <list of all your mal's>

fex <- mapply(rbind, ben, mal)

# then just index using
fex[[i]]

如果必须使用单独的变量,请使用assign

代码语言:javascript
代码运行次数:0
运行
复制
N <- 30 # however many of each `ben` and `mal` you have
for (i in N) {
  bi <- paste0(ben, i)
  mi <- paste0(mal, i)
  fi <- paste0(fex, i)

  assign(fi, rbind(get(bi), get(mi)))
}

注意:要将您的对象收集到列表中:

代码语言:javascript
代码运行次数:0
运行
复制
ben <- lapply(do.call(paste0, list("ben", 1:N)), get)
mal <- lapply(do.call(paste0, list("mal", 1:N)), get)

# Which can then be indexed by
ben[[7]]
mal[[12]]  # etc

但是,您还应该尝试将它们放在getgo中的列表中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19159881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档