0

約 150 の行列があり、それぞれに "BID_xxx" の規則で名前が付けられています (例: BID_ABL、BID_BGA)。substr を使用して、これらの各行列の最初の列を 2 つに分割したいと思います。たとえば、次のようになります。BID_ABL[,5] = substr(BID_ABL[,1],1,10)

上記の行を150回、各マトリックスに1回書き出すことなく、これを行う方法を見つけるのを手伝ってくれる人はいますか?

どんな助けでも素晴らしいでしょう!

ありがとう

マイク

4

2 に答える 2

1

関数getassignはここであなたの友達です:

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

やりたいことをやればいい。

于 2013-11-06T15:28:20.437 に答える
1

このような:

allnames<- ls(pat='BID_')

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

「print」を部分文字列関数に置き換える場所。編集:サムの答えは本質的に同じです。オブジェクト名のリストを取得する方法は、環境にある他のものによって異なります。

于 2013-11-06T15:28:38.513 に答える