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.

Reply via email to