R:在多个矩阵上执行相同的任务

时间:2013-11-06 15:05:18

标签: r

我有大约150个矩阵,每个矩阵的名称都在“BID_xxx”的约定中(例如:BID_ABL,BID_BGA)。我想使用substr将每个矩阵的第一列拆分为两个。例如:BID_ABL[,5] = substr(BID_ABL[,1],1,10)

有没有人能够帮助我找到一种方法来做到这一点,而不是将上述行写出150次,每个矩阵一次?

任何帮助都会很棒!

由于

麦克

2 个答案:

答案 0 :(得分:1)

函数getassign是您的朋友:

for (n in ls()[grep("^BID_",ls())]) {
  x <- get(n)
  x[,5] <- substr(x[,1],1,10)
  assign(n, x)
}

应该做你想做的事。

答案 1 :(得分:1)

像这样:

allnames<- ls(pat='BID_')

for(j in 1:length(allnames))  print(get(allnames[j])[1])

用你的子串函数替换“print”的地方。 编辑:山姆的答案基本相同。如何获取对象名称列表取决于您环境中的其他内容。