2017-09-24 16 views
0

私のコードは以下の通りです。コードではgの値が複数回生成されます。たとえば、g1g2などです。ループからこれらのg値を抽出してループからそれを使用するとします。どのようにそうするのか?私はあなたのポイントを理解している場合forループから値を抽出する方法

I<-1   
S<-10  
h<-1   
lmd<-1  
v<-2    
n<-100 

A=as.integer((S-I)/h)  

U=A+1   

Sha=(A*h)+I  

sindeg=seq(from = I, to =Sha, length.out =U)  

D=((lmd)^v)*(((sindeg)^(-v))-((sindeg+h)^(-v)))  

tn=(as.integer(n*D))       

for(i in 1:A){ 
print(paste(tn[i])) 


atn=tn[i] 
k=sindeg[i]+h 
m=sindeg[i] 
print(paste("alt",m)) 
print(paste("üst",k)) 

g=runif(atn, m, k) 

print(paste(g)) 

} 

答えて

1

、あなたはここでextg例えば、リスト(ループと比較して)外部に電流g値を置くことができます。

I<-1   
S<-10  
h<-1   
lmd<-1  
v<-2    
n<-100 

A=as.integer((S-I)/h)  

U=A+1   

Sha=(A*h)+I  

sindeg=seq(from = I, to =Sha, length.out =U)  

D=((lmd)^v)*(((sindeg)^(-v))-((sindeg+h)^(-v)))  

tn=(as.integer(n*D))       

extg = list() 

for(i in 1:A) 
{ 
    print(paste(tn[i])) 


    atn=tn[i] 
    k=sindeg[i]+h 
    m=sindeg[i] 
    print(paste("alt",m)) 
    print(paste("üst",k)) 

` g=runif(atn, m, k) 

    extg[[i]] = g 

    print(paste(g)) 
} 

`

+0

に反復するmap2を完璧に動作使用。どうもありがとう –

1

ますforループの代わりにpurrrの関数などの反復関数を使用できます。ここでtnsindeg

library(purrr) 
gs <- map2(tn, sindeg, function(atn, m) { 
    runif(atn, m, m + h) 
}) 
関連する問題