【发布时间】:2015-08-08 21:32:33
【问题描述】:
我想在一个循环中使用不同的数据帧。我无法访问循环中的不同数据帧。
Data1<-data.frame(X=rnorm(100,2), Y=rnorm(200,2), Z=rnorm(200,2))
Data2<-data.frame(X=rnorm(300,500), Y=rnorm(300,500))
Data3<-data.frame(X=rnorm(500,200), Y=rnorm(20,200))
for (i in c(1:3)){
assign("CurrentData", paste("Data", i, sep=""))
colMeans(CurrentData)
}
assign 函数没有执行我想要的操作,因为它认为第二个参数是字符串而不是对象的名称。我该如何解决这个问题?
【问题讨论】:
-
嗯,现在是一个字符串,不是吗? (我认为你勾选了错误的答案。使用
get()而不是eval(as.name(...))被认为更符合典型做法。)通常不建议新手使用eval来解决困难。)使用objname<-list(Data1=data.frame(X=rnorm(100,2), Y=rnorm(200,2), Z=rnorm(200,2)), Data2 = ...)的列表 -
嗨,我检查了我认为最直观的答案,它对我的数据很有用。