You are quite wrong. This is not "nonsense"; it is sound advice. It is true that R is capable of distinguishing between a function and a non-function object with the same name. However there are many circumstances in which using a function's name for the name of a data object will lead to errors in function calls and the resulting error messages will be difficult to interpret. (Things like "object of type 'builtin' is not subsettable".)

Indulging in using "c" (e.g.) for the name of a data object is bad practice and mental laziness.

I would suggest that you restrain your presumptuousness and arrogance, and refrain from telling experienced and wise R gurus, like Jeff Newmiller, that their ideas are "nonsense" until you have a little more experience with and knowledge of R.

I am sure that you will insist on arguing about this and that you will continue to claim that black is white, but the fact remains that you are wrong. Others should pay no attention to your ranting.

cheers,

Rolf Turner

--
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276

On 03/05/16 10:00, Raubertas, Richard wrote:
What nonsense. There is a group of finger-waggers on this list who
jump on every poster who uses the name of an R function as a variable
name. R is perfectly capable of distinguishing the two, so if 'c' (or
'data' or 'df', etc.) is the natural name for a variable then go ahead
and use it. Mr. Newmiller provides an excellent example of this: he
recommends 'C' instead of 'c', apparently without realizing that 'C' is
also a built-in R function--because there is "no such problem".

Richard Raubertas

-----Original Message----- From: R-help
[mailto:r-help-boun...@r-project.org] On Behalf Of JeffNewmiller
Sent: Wednesday, April 27, 2016 3:58 PM To: Gordon, Fabiana;
'r-help@R-project.org' Subject: Re: [R] Create a new variable and
concatenation inside a  "for" loop
"c" an extremely commonly-used function. Functions are first-class
objects that occupy the same namespaces that variables do, so they can
obscure each other. In short, don't use variables called "c" (R is case
sensitive, so "C" has no such problem).

Wherever possible, avoid incremental concatenation like the plague.
If  you feel you must use it, at least concatenate in lists and then use
functions like unlist, do.call, or pre-allocate vectors or matrix-like
objects with unuseful values like NA and then overwrite each element in
the vector or matrix-type object in a loop like your first one.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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