[R] = or <-
pomchip at free.fr
Mon Jun 2 17:43:56 CEST 2008
Thanks Erik and Gabor for this precision,
I guess that my misunderstanding of these concepts came from some bad
habits I took during my self-learning experience of R (especially,
copy/paste of old codes where <- was used for function arguments and did
not produce error messages).
Erik Iverson a écrit :
> Sébastien wrote:
>> Dear R-users,
>> I have written a short VB application to clean and format my R code.
>> Everything works fine except one small issue that I did not expected;
>> it is related the automatic replacement of assignment signs from "="
>> to "<-". Most functions or arguments seem to accept either = or <-,
>> but some don't (e.g. ls(all=TRUE)). The result is that my supposedly
>> clean codes do not run anymore :-(
>> Is there a way to know the list of arguments/functions that do not
>> accept "<-" signs ?
> You are surely mixing two concepts here.
> When you are doing an assignment of a value to a variable, you may use
> either <- or =. Example
> a <- 2
> a = 2
> both bind the value of 2 to the symbol "a".
> When you call a function, for example ls, you can specify the argument
> names, such as ls(all = TRUE).
> If you attempted ls(all <- TRUE), the value of TRUE will be assigned
> to the symbol 'all', and then ls will be evaluated with its first
> argument "names" as TRUE, which produces your error. You almost
> certainly want ls(all = TRUE). After the error, try typing 'all' at
> the R prompt. The 'all' function definition has now been overwritten
> and is simply TRUE, which you probably do not want either.
> So, there really is no concept of whether or not a function "accepts
> <- signs". You want to use = in your function calls, since the '<-'
> method is actually assigning values.
> Hope that helps,
>> Thanks in advance.
>> R-help at r-project.org mailing list
>> PLEASE do read the posting guide
>> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help