如何使用从一个R文件到另一个R文件的变量值

时间:2017-01-02 07:00:59

标签: r

我有一个config.R文件,其中包含变量P.

P_val<-function(s){   
if(s==1){    
return(p<-0.01)  
 }  
 else if(s==2){
     return(p<-0.031)  
 }  
 else if(s==3){
     return(p<-0.001)  
 }   
else if(s==4){
     return(p<-0.021) 
  }   
else if(s==5){
     return(p<-0.1)  
 }   
else if(s==6){
     return(p<-0.77)  
 }  
 else if(s==7){
     return(p<-0.35)   
}  
 else if(s==8){
     return(p<-0.66)   
}
 }

在我的main.R文件中,我想使用这个P值,但事情是这个p变量在循环中,我想为每个循环运行提供不同的值。我正在向您展示我想要的示例:

  d<-function(num){
for(s in seq(1,8,1)){
  x=2*s ##some variable
  source("config.R")
  P_val(s)
  reset(x,p)
}
reset<-function(x,p){
  l_val= (x/p) * num
  return(l_val)
}
}

我在source("config.R")文件中使用main.R但我不知道如何使用它,因为我收到此错误

  

重置错误(x,p):未找到对象'p'

2 个答案:

答案 0 :(得分:0)

有关ip之间的文件和关系的更多说明可能会有所帮助。

假设迭代编号ip的值之间存在关联,您可以尝试将此关系定义为config.R文件中的function

然后你需要source("config.R")main.R一样,正如你已经做的那样,并在需要的时候从迭代器中调用函数。

答案 1 :(得分:0)

您必须分配值p,如下所示:

p <- P_val(s)