2016-07-13 65 views
0

變化表名我有九和表名:環路與R中

table1, table2, table3, ... table9 

,想做到這一點:

res_table1 <- mirt(data = table1, model = 2, itemtype= "graded") 
res_table2 <- mirt(data = table2, model = 2, itemtype= "graded") 
... 
res_table9 <- mirt(data = table9, model = 2, itemtype= "graded") 

是否有可能使用循環呢?像這樣:

for (ii in c(1:9)){ 
    tmp_tbl_name <- paste("res_table",ii,sep = "") 
    assign(tmp_tbl_name, mirt(data = table1, model = 2, itemtype= "graded")) 
} 

我不知道如何應對data = table1部分....

回答

1

也許這是有幫助的

lapply(mget(paste('table', 1:9, sep='')), mirt, model = 2, itemtype= "graded") 

也許你正在尋找這個

for (ii in c(1:9)){ 
    tmp_tbl_name <- paste("res_table",ii,sep = "") 
    assign(tmp_tbl_name, mirt(data = get(paste("table",ii,sep = "")), model = 2, itemtype= "graded"))} 
+0

它不會在一個循環中工作,tmp_tbl_name是一個變量名稱不是表.... – ceoec

+0

因爲結果有t o去不同的桌子... – ceoec