我有一个类似于这个的功能:
function.mean.prod<-function(my.df,my.title){
tmp.df<-data.frame(Year=1901:2099,Productivity=NA)
for(i in 1:199)tmp.df[i,2]<-mean(my.df[,,i],na.rm=T)
ggplot(tmp.df)+
geom_line(aes(tmp.df$Year,tmp.df$Productivity))+
ylab("Productivity in g/c/qm")+
xlab("Year")+
ggtitle(my.title)
}
执行它我得到:
Error in eval(expr, envir, enclos) : object 'tmp.df' not found
所以我对这个错误消息的解释是对象tmp.df
是在函数环境中临时创建的,当函数执行循环时它无法调用对象。
是正确的吗? 如何设置环境以便函数能够在循环内调用它? 非常感谢。