I'm somewhat new to R, but I've had a lot of experience in Java. I'm working on a function that takes data from a data frame, does some math and assigns the values to a vector. Pretty simple. I plan to merge the vector with the data frame when I'm done.
The vector is called offense1 (there will eventually be 2). I declared it on its own, outside of the function. Right now its values are the same as its indices: 1, 2, 3... Then I plugged it into the function: getOffense1(1:20, offense1). 1:20 is the range of offense1 that will be worked upon. Everything about the function works: It generates the correct values and plugs them into the vector. I checked with print statements. The problem is that when the function ends, offense1 is unchanged. All the values it takes on are temporary. I thought it might be because the assignment (offense1[v] <- ___) happens inside a for loop, but a call to print( offense1[1:20] ) just after the loop is finished turns out the right values. All that seems to matter is whether it's inside the function or not. How can I assign values permanently to offense1? -- View this message in context: http://r.789695.n4.nabble.com/Function-won-t-permanently-assign-values-to-a-vector-tp3774850p3774850.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.