[R] Replies on this list [was: removing NA from a data frame]
François Pinard
pinard at iro.umontreal.ca
Mon Mar 20 22:03:15 CET 2006
[Berton Gunter]
>[Sam Steingold]
>> PPS. how do I figure out the number of rows in a data.frame?
>> is length(attr(X,"row.names")) the right way?
>help.search("number of rows") immediately gets you your answer!
Hi, people. Here, I get:
Help files with alias or concept or title matching ‘number of rows’
using fuzzy matching:
nrow(base) The Number of Rows/Columns of an Array
and '?nrow' says that it meant for arrays: nothing about data.frame, and
not a generic method either. Even if it was a class method, we should
not expect a new user to be very familiar with R (both!) class systems
from the start.
What a new user might think, reading the documentation? Sam Steingold
is surely an experimented and competent computer guy. He might guess,
who knows, that some automatic array to data.frame conversion occurs
(all inefficient that it could be). Yet this would not match other
knowledge nor experimentation, as a data.frame is hardly an array:
> x = data.frame(a=1:3, b=c(TRUE, TRUE, FALSE), c=letters[1:3])
> as.array(x)
Erreur dans "dimnames<-.data.frame"(`*tmp*`, value = list(c("a", "b", "c" :
'dimnames' incorrect pour ce tableau de données
Despite help.search("number of rows") provides an answer that happens to
be right, it might not be recognised as such by an intelligent reader,
and so, it is not really satisfactory. The documentation for "nrow"
could be improved by saying that it applies to any kind of structure for
which dim() is meaningful. And even then, ?dim is silent about data
frames. One clue (yet a pretty weak one) that nrow may be applied to
a data.frame comes from the fact that ?dim.data.frame lists the same
documentation as ?dim.
Why do I say all this? Because it happens, not necessarily in this
case, a bit too often nevertheless, that answers given to users are
uselessly harsh or haughty. Especially when they imply that the
documentation is perfect. One problem is that some people enjoy reading
such replies. As example of this strange kind of pleasure, here is
a excerpt from R Archives, which I find especially enlightening on the
mentality of few members:
From: swis at mantrade.com (Steve Wisdom)
Date: 2003-12-26 17:04
Subject: [R] re| Dr Ward on List protocol
"Andrew C. Ward" <acward at uqconnect.net.au> :
>With respect to 'tone' and 'friendliness', perhaps all that is meant or
>needed is that people be polite and respectful.
>I shake my head as often at rude answers
Oh, by gosh, by golly.
I don't think an occasional dose of 'real life', via a jab from the
Professor, will cause any lasting harm to the cosseted & emolumated students
and academics on the List.
On a Wall St trading desk, for example, every day one is kicked in the head
more brutally by clients, superiors, counterparts, the markets & etc, than
ever one would be by the Professor.
Plus, the Professor's jabs are good Schadenfreudic fun for the rest of us.
Regards,
Steve Wisdom
Westport CT US
The truth is that not everybody around here is "cosseted & emolumated
students and academics". Moreover, behaviour at trading desks is fully
irrelevant, and for most of us, this is not the kind of life we chose to
live. Wrong behaviour elsewhere is hardly an excuse for not behaving
properly, here.
Moreover, what is mere "good fun" for some may be perceived as highly
inelegant by others. While some competent members may inspire
admiration and charism by their knowledge and dedication, they sometimes
damage beyond repair what they inspire, when showing poor humanity.
I'm aware of the constant fear some have of seeing this list abused.
There are ways for not being abused, which do not require becoming
abusive ourselves. We should deepen such ways in our own habits.
--
François Pinard http://pinard.progiciels-bpi.ca
More information about the R-help
mailing list