Rでループを記述しようとしていますが、新しいオブジェクトを作成しないため、命名法が正しくないと思います。これは、私がやろうとしていることの簡単な例です:
for i in (1:8) {
List_i <-List
colsToGrab_i <-grep(predefinedRegex_i, colnames(List_i$table))
List_i$table <- List_i$table[,predefinedRegex_i]
}
grep が検索に使用する 'predefinedRegex'es 1:8 を作成しました。ループは「List_i」というオブジェクトを作成し、「predefinedRegex_i」を見つけることができません。
「i」と $ を i の前に引用符で囲んでみましたが、 [i] も機能しません。
どんな助けでも大歓迎です。ありがとうございました。
#以下の@RyanGrammelの回答を使用::
#CREATING regular expressions for grabbing sets groups 1 -7 ::::
g_1 <- "DC*"
g_2 <- "BN_._X.*"
g_3 <- "BN_a*"
g_4 <- "BN_b*"
g_5 <- "BN_a_X.*"
g_6 <- "BN_b_X.*"
g_7 <- "BN_._Y.*"
for i in (1:8)
{
assign(x = paste("tableA_", i, sep=""), value = BigList$tableA)
assign(x = paste("Forgrep_", i, sep=""), value = colnames(get(x = paste("tableA_", i, sep=""))))
assign(x = paste("grab_", i, sep=""), value = grep((get(x = paste("g_",i, sep=""))), (get(x = paste("Forgrep_",i, sep="")))))
assign(x = paste("tableA_", i, sep=""), value = BigList$tableA[,get(x = paste("grab_",i, sep=""))])
}
このループは、「BigList」内のテーブルごとに繰り返されます。(get(x = paste("BigList_", i, "$tableA" sep="")))) から列名を抽出できないことがわかりました
または from (get(x = paste("BigList_", i, "[[2]]" sep="")))) なので、最初にテーブルを抽出する方が簡単でした。ここで、リストを再パックするループを作成します。