我有:
for ( i in 1 :10){
d= read.delim(paste("try",i,".txt",sep=""),head=T)
assign(paste("try",i,sep=""),d)
}
然后我尝试了1-try10
稍后在我的代码中我想使用try1-10:
if( j ==1){ myVar=try$j}
所以我的问题是:如何将myVar
分配给try$j
? (paste("try",j,sep="")
不起作用)
答案 0 :(得分:5)
请参阅相关问题和答案:Dealing with repetitive tasks in R
基本上,不是在工作区中有多个数据框,而是将它们组合成一个数据框列表。然后你可以使用循环,lapply等,而不必跳过语法箍。
答案 1 :(得分:2)
你真正想要的是:
try = list()
for ( i in 1 :10){
d= read.delim(paste("try",i,".txt",sep=""),head=T)
try[[i]] = d
}
然后
if(j==1){ myVar=try[[j]]}
或者,因为j == 1无论如何:
if(j==1){ myVar=try[[1]]}
simples!