Wednesday, 15 June 2011

function - Variable scope in R -



function - Variable scope in R -

i have data.frame named factor_nonagg 50 rows , 3 columns. wrote function category() argument factors. making changes factors in function. when pass data.frame function, no changes made in data.frame. can help me in making permanent changes data.frame?

n=50 category=function(factors){ for(i in 1:n){ if(factors[i,1]>=90) factors[i,1]<-2*.45 else if(factors[i,1]>=65) factors[i,1]<-1*.45 else factors[i,1]<-0 if(factors[i,2]>=.190) factors[i,2]<-2*.25 else if(factors[i,2]>=.140) factors[i,2]<-1*.25 else factors[i,2]<-0 if(factors[i,3]>=.03) factors[i,3]<-2*.30 else if(factors[i,3]>=.015) factors[i,3]<-1*.30 else factors[i,3]<-0 }} category(factor_nonagg)

r not back upwards pass-by-reference type behavior functions. when create alter parameter value within function, re-create of object made , changes lastly long function call.

typically have function homecoming changed value (return(factor)), , assign new value original variable:

factor_nonagg <- category(factor_nonagg)

r function scope

No comments:

Post a Comment