[R] Function won't permanently assign values to a vector

Daniel Malter daniel at umd.edu
Sun Aug 28 21:54:20 CEST 2011


It will greatly help if you provide a self-contained example, as requested in
the posting guide. Most of the times this will in fact lead to you figuring
out your problem yourself, but if not it will greatly enhance your chances
that we can help you in a meaningful, unambiguous way.

Best,
Daniel



DimmestLemming wrote:
> 
> 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-tp3774850p3774946.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list