On Wed, 19 Jan 2005, Peter Muhlberger wrote:

                                                 By not allowing any
straightforward passing by reference, R strikes me as a lot less flexible &
useful than it might be.  A basic operation in other stats languages is to
update a dataset using a program.  This proves very helpful for managing
data and setting up analyses.  But, this seems to be quite inelegant to do
in R.

I don't see why
mydata <- some.program(mydata)
is much less elegant than
mydata.someProgram()
as a way of updating a data set. It may use more memory, but that wasn't the point at issue.


Of course there are advantages to the ability to pass by reference, and disadvantages -- the most obvious disadvantage is that it is not easy to tell which variables are modified by a given piece of code.

It probably wouldn't be that hard to produce something that looked like a data frame but was passed by reference, by wrapping it in a environment.

        -thomas





Peter

On 1/19/05 6:16 AM, "[EMAIL PROTECTED]" From: Thomas Lumley
<[EMAIL PROTECTED]>
<[EMAIL PROTECTED]> wrote:

Yes and no.

This isn't so much a question of pass-by-reference, as one reply
suggested, but of macros vs functions.

Stata is (largely) a macro language: it does operations on command strings
and then evaluates them.  It's not that Stata programs work with
references, it's that all objects (except local macros) are global.

R is based on functions: it evaluates arguments and then operates on
them.  When you have functions, with local variables, it then becomes
relevant to ask whether the arguments to the function are just copies or
are references to the real thing. In R they are just copies (from a
language point of view) but are often references from an efficiency point
of view.

______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


Thomas Lumley Assoc. Professor, Biostatistics [EMAIL PROTECTED] University of Washington, Seattle

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to