Re: [Rd] No RTFM?

2010-08-21 Thread Simone Giannerini
Dear Gabor,

I do not agree with your claim

"In the case of the R list there is a
larger potential demand for free help than resources to answer and
without the usual monetary economics to allocate resources I believe
that the functional purpose of rudeness here is to ration those
resources and minimize duplication of questions"

In fact, apart from the fact that rudeness should never be justified,  I was
amazed at the amount of time dedicated by some people to give unhelpful
replies to dumb (and less dumb) questions (at least on R-devel). In my
opinion this behaviour causes some damages to the whole R project for at
least two reasons:

1. On the bug report side if you want to have a good percentage of true
positive reports you should allow for a high percentage of false positive
reports.  But if people are scared to post you will lose the true positive
together with false ones.
2. People that are potentially willing to contribute are discouraged to do
it.

Kind regards

Simone

On Fri, Aug 20, 2010 at 8:37 PM, Gabor Grothendieck  wrote:

> On Fri, Aug 20, 2010 at 2:12 PM, Paul Johnson 
> wrote:
> > On Thu, Aug 19, 2010 at 7:08 PM, Spencer Graves
> >  wrote:
> >>  What do you think about adding a "No RTFM" policy to the R mailing
> lists?
> >> Per, "http://en.wikipedia.org/wiki/RTFM":
> >>
> > I think this is a great suggestion.
> >
> > I notice the R mailing list already has a gesture in this direction:
> > "Rudeness and ad hominem comments are not acceptable. Brevity is OK."
> >
> > But the people who behave badly don't care about policies like this
> > and they will keep doing what they do.
>
> Although it may seem hard to justify rudeness its often the case that
> even the most bizarre behavior makes sense if you view it from the
> perspective of that person.   In the case of the R list there is a
> larger potential demand for free help than resources to answer and
> without the usual monetary economics to allocate resources I believe
> that the functional purpose of rudeness here is to ration those
> resources and minimize duplication of questions.  If that is correct
> one can predict that if civility were to become the norm on this list
> then other rationing mechanisms would arise to replace it.
>
> For example, it might become the norm that most questions are not
> answered or are answered less thoroughly or the list might be replaced
> as the de facto goto medium for R questions by some other list or web
> site so we have to be careful about unintended consequences.
>
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
__

Simone Giannerini
Dipartimento di Scienze Statistiche "Paolo Fortunati"
Universita' di Bologna
Via delle belle arti 41 - 40126  Bologna,  ITALY
Tel: +39 051 2098262  Fax: +39 051 232153
http://www2.stat.unibo.it/giannerini/
__

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] C or Java code generation

2010-08-21 Thread Vyacheslav Karamov

Simon Urbanek пишет:

On Aug 20, 2010, at 1:15 PM, Paul Johnson wrote:

  

On Thu, Aug 19, 2010 at 5:47 AM, Vyacheslav Karamov
 wrote:
x.ru>>>


  Hi All!

  I'm new to R and I need to know is it possible for R to
   generate
  C/C++ source code, Java byte code or native Win32 DLL like
   MatLab?


Is there any posibility to use R without installing?
I mean that I have my own application written in MS Visual C++ and I need to
use R script in this app. I can install R and use it via DCOM, but it's not
convenient for  the end users of my  program.

  

Do your users have Web access? If so, you can set up an Rweb (or
similar) server that could run the jobs for those users. I have one
set up like that. Users transmit their code via http and can get
results back in web page.  I think you could probably program around
the output management question, but I did not try to do it. I mean,
something like "wget" could download the images directly, by-passing
the http server.

Rweb has been abandoned by its original author, but it can be made to
work, and there are other, newer http server programs to run R.  I
have not tried them yet, mainly because my customers needed to run
Rweb because their clients told them to use it.




FWIW: FastRWeb uses Rserve as back-end and is in active development since we 
use it internally (it's wicked fast, scalable and supports data pre-loading and 
AJAX).

Cheers,
Simon



  
No, we need to implement VAD and voice comparison, so RWeb is useless in 
this case.


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Spencer Graves

 Hello, All:


  I think there is a logic to Gabor's perspective, especially 
regarding unintended consequences.



  For example, if the as a result of changing policy, our most 
creative and substantive contributors decide to reduce their level of 
contribution and are not effectively replaced by others, then it would 
be a great loss for humanity.



  This group, especially the R Core team and the R-devel community 
more generally, has been incredibly productive.  The result is a 
substantive contribution to humanity.  It would be a loss if any change 
reduced that.  However, if rudeness is driving away potential 
contributors as was claimed, then this community might be more 
productive with a "no RTFM" policy.



  I accept that the experience of the Ubuntu Forums and 
LinuxQuestions.org may not be perfectly relevant to R, but I think they 
could provide some insight:  I would expect them to have some of the 
same "rationing" problems as experienced on the R help lists.



  The exchange that generated my original comment on this was a 
question from "r.ookie" to R-Help.  I don't know why this person chose 
to hide their real identity, but I was subsequently informed off line 
that the RTFM comment I saw was a response to an apparently rude reply 
by "r.ookie" to a previous suggestion by a regular contributor.  I still 
think a better response is not to escalate:  Either ignore the post or 
say something like, "I don't understand your question.  Please provide a 
self-contained minimal example as suggested in the Posting Guide ... ."



  Best Wishes,
  Spencer


On 8/21/2010 2:08 AM, Simone Giannerini wrote:

Dear Gabor,

I do not agree with your claim

"In the case of the R list there is a
larger potential demand for free help than resources to answer and
without the usual monetary economics to allocate resources I believe
that the functional purpose of rudeness here is to ration those
resources and minimize duplication of questions"

In fact, apart from the fact that rudeness should never be justified,  I was
amazed at the amount of time dedicated by some people to give unhelpful
replies to dumb (and less dumb) questions (at least on R-devel). In my
opinion this behaviour causes some damages to the whole R project for at
least two reasons:

1. On the bug report side if you want to have a good percentage of true
positive reports you should allow for a high percentage of false positive
reports.  But if people are scared to post you will lose the true positive
together with false ones.
2. People that are potentially willing to contribute are discouraged to do
it.

Kind regards

Simone

On Fri, Aug 20, 2010 at 8:37 PM, Gabor Grothendieck
wrote:
On Fri, Aug 20, 2010 at 2:12 PM, Paul Johnson
wrote:

On Thu, Aug 19, 2010 at 7:08 PM, Spencer Graves
  wrote:

  What do you think about adding a "No RTFM" policy to the R mailing

lists?

Per, "http://en.wikipedia.org/wiki/RTFM":


I think this is a great suggestion.

I notice the R mailing list already has a gesture in this direction:
"Rudeness and ad hominem comments are not acceptable. Brevity is OK."

But the people who behave badly don't care about policies like this
and they will keep doing what they do.

Although it may seem hard to justify rudeness its often the case that
even the most bizarre behavior makes sense if you view it from the
perspective of that person.   In the case of the R list there is a
larger potential demand for free help than resources to answer and
without the usual monetary economics to allocate resources I believe
that the functional purpose of rudeness here is to ration those
resources and minimize duplication of questions.  If that is correct
one can predict that if civility were to become the norm on this list
then other rationing mechanisms would arise to replace it.

For example, it might become the norm that most questions are not
answered or are answered less thoroughly or the list might be replaced
as the de facto goto medium for R questions by some other list or web
site so we have to be careful about unintended consequences.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Carlos J. Gil Bellosta

Hello,

RTFM is a succinct and useful answer in many cases, yet somewhat 
impolite. A not much more verbose verbose version of it, possibly still 
more useful, and quite polite would be something like:


"Please, read rule #NN at http://www.r-project.org/posting-guide.html";

(asuming that paragraphs at the Posting Guide were numbered and number 
NN would point to the paragraph "Do your homework before posting"):


* It includes the word "please".
* It increases awareness of the Posting Guide
* It provides a direct link to it.
* The information under such paragraph is very informative and helpful.

One of the purposes of the different R help lists should be serving as a 
public relations platforms so as to promote the use of R.


Regards,

Carlos J. Gil Bellosta
http://www.datanalytics.com



On 08/21/2010 02:15 AM, Dr. David Kirkby wrote:

On 08/20/10 01:08 AM, Spencer Graves wrote:

What do you think about adding a "No RTFM" policy to the R mailing
lists? Per, "http://en.wikipedia.org/wiki/RTFM":


The Ubuntu Forums and LinuxQuestions.org, for instance, have instituted
"no RTFM" policies to promote a welcoming atmosphere.[8][9].

RTFM [and] "Go look on google" are two inappropriate responses to a
question. If you don't know the answer or don't wish to help, please say
nothing instead of brushing off someone's question. Politely showing
someone how you searched or obtained the answer to a question is
acceptable, even encouraged.
...

If you wish to remind a user to use search tools or other resources when
they have asked a question you feel is basic or common, please be very
polite. Any replies for help that contain language disrespectful towards
the user asking the question, i.e. "STFU" or "RTFM" are unacceptable and
will not be tolerated. —Ubuntu Forums


Gavin Simpson and I recently provided examples answering a question from
"r.ookie" that had previously elicited responses, ""You want us to read
the help page to you?" and "It yet again appears that you are asking us
to read the help pages for you."


I can appreciate the sentiment in fortunes('rtfm'). In this case,
however, "r.ookie" had RTFM (and said so), but evidently the manual was
not sufficiently clear.


Best Wishes,
Spencer Graves


I've personally found the R community somewhat unhelpful at times. In
fact, of all the resources I use:

* Newsgroups like comp.unix.shell, sci.math.symbolic, comp.unix.aix,
comp.unix.solaris
* Mailing lists for autoconf, automake, gcc, sage maths, ecl, time-nuts.
* Forums for OpenSolaris

I've found the r-devel about the least helpful of the lot.

My most recent example was when I created a bug report about a version
of R that was about 4 months old. The bug was that the configure test
failed to detect the version of libicu was unsuitable on Solaris. (Since
it was the version of the library shipped with Solaris, I would
personally have thought the configure script should detect its too old
if it is).

When submitting the bug, I selected the particular R version from the
pull-down menu, as it was listed.

Then I got some snotty reply about reading the FAQ and not submitting
bug reports for old versions of R. At the time I submitted it, I suspect
the version I had was about 4 months old. Ask on a Solaris mailing list
about a 5 year old version of Solaris and you will get civil replies.
Likewise, the gcc lists don't expect everyone to be running very recent
versions.

I would have like to have responded on the technical content of the
message, as I believe the autoconf test is flawed if it can't detect
that a version of a library installed by Sun is unsuitable. But I
decided that such responses were best ignored.

There's quite a bit in the R manual about Solaris that is just plain
wrong, but although I've reported some of the problems, these were
ignored, so I can't even be bothered to report the rest.

I must admit, I do sometimes give people links to

http://justfuckinggoogleit.com/

when I think they are being particularly dumb in not using Google, so I
do appreciate it can get annoying when people ask questions they should
be able to get answered themselves.

But it seems to me that arrogance is more normal on r-devel than on
other lists I use.

Thankfully, I don't have to use r-devel much.

Flames to /dev/null.

Dave

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel



__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R-devel Digest, Vol 90, Issue 20

2010-08-21 Thread Laurent

On 21/08/10 12:00, r-devel-requ...@r-project.org wrote:


On Aug 20, 2010, at 1:59 PM, Matt Shotwell wrote:


>  On Fri, 2010-08-20 at 12:58 -0400, Sharpie wrote:

>>
>>  Donald Paul Winston wrote:

(...)

>>
>>  Donald Paul Winston wrote:

>>>
>>>  It appears R insists on directing plot output to a file. Is their a
>>>  graphics device that keeps the output in memory so it can be returned to
>>>  my java app as a stream of bytes? If I have to wait for it to write to a
>>>  "unique file" and then read it back again then I don't think that's going
>>>  to work. My web app needs to support hundreds of concurrent clients.
>>>

>>
>>  As far as I know all R graphics output that does not go to a screen device,
>>  such as an X window, must be directed to some sort of file.  I am not aware
>>  of a graphics device that provides output to something other than a screen
>>  or a file, but there very well may be such a device in existence.


For experimentation purpose, the rpy2 project is finalizing a system to 
allow Python-written graphical devices (no C-level R extensions, just 
Python). Beside other niceties, it will allow working around the lack of

connection API in R for graphics.
Since Python makes the use of file-like objects straightforward, we plan 
providing devices that are streams (nice for serving graphics from web 
applications without having to worry about temp files).




>  This was essentially the conclusion of Donald's earlier thread...
>

>>  The functionality you could describe could be implemented by writing a R
>>  graphics device that forwards the R plotting commands to... well anywhere
>>  you want, really.  As the author of an R graphics device, I can say the
>>  trickiest part of such an undertaking will be calculating font metrics so
>>  that R can properly position text in the graphics.  Everything else is very
>>  straight-forward.

>
>  I believe Donald wants the_rendered_  output. That is, a stream of bytes
>  that represent a png, jpeg, etc. Toward this end, we have already
>  discussed using an OS-level fifo to avoid disk I/O, and I think this is
>  the easiest route for Donald.
>
>  Alternatively, Donald might look into the X11 graphics driver, where
>  Cairo is used to write pngs. In particular, the in_do_saveplot function
>  (src/main/modules/X11/devX11.c) calls cairo_surface_write_to_png, in
>  order to save a png to file. Cairo also provides the
>  cairo_surface_write_to_png_stream function, which might be used to send
>  png data to a memory buffer (i.e. a raw vector). I don't think it would
>  be too difficult to modify in_do_saveplot to accommodate this.
>

That is all nice, it will require you to hack R (well, there is the Cairo 
device so you could make the change outside of R instead).

As always, the reason is buried deep inside -- the lack of connection API. If 
we had that, devices would take a connection instead of the file name and all 
would be well since you could use in-memory connections instead of files ...;)


May I dare asking about what happened to past offers to alleviate the 
problem ?


There is at least one patch (contributed 4 years ago)
http://rwiki.sciviews.org/doku.php?id=developers:r_connections_api
that remained seemingly ignored, and subsequent requests for updates (or 
patch submission policies) remained similarly unanswered.


A recent thread showed unexpected progress, with the eventual 
possibility of accepting a patch being worded.

http://www.mail-archive.com/r-devel@r-project.org/msg20276.html
Unfortunately the thread drifted into legalese invocations, and despite 
the author of the patch complying to all demands regarding the licensing 
flavour for his contribution the patch seems to have joined (all ?) 
other submitted patches. (I don't get anything when running:

svn log -r {2010-04-27}:HEAD | grep -i Shotwell
).

Are there such patches included in the Revolution R sources, or are 
there plans to do so ?




Laurent





Cheers,
Simon





__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Ted Byers
I am reminded of a cartoon I saw recently in a urologists office that said:
"In this line of work, I see a lot of ass holes and pricks."

There is no shortage of people who are nasty, both among those who seek help
and those who are able to give it, in any community.  I would say, though,
that instead of endorsing nastiness, for whatever reason, it ought to at
least be ignored, and would be better repudiated.  I can recall trying to
teach elementary statistics to first year undergraduate students: and a
particular subset that was terrified of math to begin with.  They were under
the mistaken belief that they could function without any quantitative
capability.  While I disabused them of that delusion right quick, I found I
had to do that gently as they were so insecure that it would have been easy
to crush their spirit to a point where they'd drop out of university
altogether for lack of confidence.  Instead of being harsh with them, I had
to gently bring them around, in some cases giving them early on assignments
that were mathematical but structured in such a way they didn't notice the
mathematical nature of it until after the fact.  Invariably, they succeeded
in these assignments and i was able to tell them something like: "You see,
you told me you couldn't do math, but look what you have done.  This problem
was inherently mathematical."  THAT was a confidence builder.  Had I taken
the RTFM approach with those kids, the scientific community would have
forever lost some bright minds long before they had begun to flourish.  At
that time, I found I also had to develop a skill in NOT laughing at
questions that struck me funny.  That happened frequently, simply because I
was dealing with kids so new to quantitative analyses that many of the
questions they asked were funny.  But I dared not laugh because I knew these
students asking such questions were so insecure that they'd have been
crushed had I laughed.  eventually, by the time I was finished with them,
they had built their confidence levels and were also able to laugh at the
question they'd asked initially, but it takes time to led a student to that
point.

I can remember, when I first used a unix system many, many, many years ago,
I encountered a problem and was told by the department's system
administrator to RTFM.  This was a guy who was paid to help staff and
students to use the department's computing resources.  He was brilliant, but
sorely lacking in interpersonal skills (except for when he had to deal with
his supervisor).  When I replied that I had, his response was that I must
therefore be too stupid to deserve to use the computer system.  I, however,
am not the sort of individual that is so easily thwarted (I can't be
insulted because I am too stupid to understand the insult! ;-), and
eventually I became the "go to guy" when someone in my department had a
computational problem.  But often I found I had to take longer to figure
things out on my own that I would have needed if I had access to someone who
had both the expertise I sought to develop in myself and the spirit of a
real educator.

While it has been a while since I worked in an educational institution, I
have found that generally when students or junior programmers came asking
questions, it was MY fault.  Either the documentation or verbal direction
I'd provided was inadequate, or I had made assumptions about their
background that led me to expect too much of them.  Either they did not have
the mathematical background I'd assumed, or they didn't have the knowledge
of programming that I'd assumed.  In many cases, these "kids" were so new to
a particular issue or subject, they would not have been able to produce a
useful query in Google if their life depended on it.  They could try to
submit a query, but the signal to noise ratio would be so low there'd be no
hope they'd live long enough to find the signal.

Part of the problem of this particular medium is that you never know who the
person is that you are trying to help.  So, then, the documentation provided
to all, and help in this sort of medium, ought to be constructed not only
with a view to helping peers use R, but also with a view to helping those
just getting started.  There is a lot of R documentation that seems to be
written by experts for experts (which is fine as far as it goes), but at a
level that is far to advanced (either in programming or in statistics) to be
useful for beginners.  Maybe that warrants two or more sets of
documentation, some of which are intended for users with different levels of
experience.  There are a number of ways that can be handled.  It is certain
that the FAQs that exist are not nearly comprehensive or detailed enough for
all levels of users.  That said, the quality of documentation varies
considrably among the different R packages I have examined, and I have found
that I have tended to rely most on those packages that are best documented.

A different part of the problem is time management.  Ther

[Rd] Speed improvement to evalList

2010-08-21 Thread Radford Neal
I've been inspired to look at the R source code by some strange timing
results that I wrote about on my blog at radfordneal.wordpress.com
(see the posts on "Speeding up parentheses..." and "Two surprising
things...".

I discovered that the strange speed advantage of curly brackets over
parentheses is partially explained by an inefficiency in the evalList
and evalListKeepMissing procedures in eval.c, in directory src/main,
which are on the critical path for many operations.  These procedures
unnecessarily allocate an extra CONS node.  I rewrote them to avoid
this, which seems to speed up a typical program by about 5% (assuming
it doesn't spend most of its time in things like matrix multiplies).

I think it would be well worthwhile to put this minor change into the
next R release.  I'll be looking at some other places where R can also
be sped up, and expect that an average improvement of maybe 15% is
possible, with some programs probably speeding up by a factor of two.

For now, though, I'll just give the revised versions of evalList and
evalListKeepMissing, below.

   Radford Neal

-

/* Used in eval and applyMethod (object.c) for builtin primitives,
   do_internal (names.c) for builtin .Internals
   and in evalArgs.

   'n' is the number of arguments already evaluated and hence not
   passed to evalArgs and hence to here.
 */
SEXP attribute_hidden evalList(SEXP el, SEXP rho, SEXP call, int n)
{
SEXP head, tail, ev, h;

int mode;  /* mode==0 is 0 args, mode==1 is 1 arg, mode==2 is >1 arg */

head = R_NilValue;
mode = 0;  

while (el != R_NilValue) {
n++;

if (CAR(el) == R_DotsSymbol) {
/* If we have a ... symbol, we look to see what it is bound to.
 * If its binding is Null (i.e. zero length)
 *  we just ignore it and return the cdr with all its expressions 
evaluated;
 * if it is bound to a ... list of promises,
 *  we force all the promises and then splice
 *  the list of resulting values into the return value.
 * Anything else bound to a ... symbol is an error
 */
h = findVar(CAR(el), rho);
if (TYPEOF(h) == DOTSXP || h == R_NilValue) {
while (h != R_NilValue) {
if (mode==1) {
   PROTECT(head);
   mode = 2;
}
ev = CONS(eval(CAR(h), rho), R_NilValue);
COPY_TAG(ev, h);
if (mode==0) {
head = ev;
mode = 1;
}
else {
SETCDR(tail, ev);
}
tail = ev;
h = CDR(h);
}
}
else if (h != R_MissingArg)
error(_("'...' used in an incorrect context"));
} else if (CAR(el) == R_MissingArg) {
/* It was an empty element: most likely get here from evalArgs
   which may have been called on part of the args. */
errorcall(call, _("argument %d is empty"), n);
} else if (isSymbol(CAR(el)) && R_isMissing(CAR(el), rho)) {
/* It was missing */
errorcall(call, _("'%s' is missing"), CHAR(PRINTNAME(CAR(el; 
} else {
if (mode==1) {
   PROTECT(head);
   mode = 2;
}
ev = CONS(eval(CAR(el), rho), R_NilValue);
COPY_TAG(ev, el);
if (mode==0) {
head = ev;
mode = 1;
}
else {
SETCDR(tail, ev);
}
tail = ev;
}
el = CDR(el);
}

if (mode==2) UNPROTECT(1);

return head;

} /* evalList() */


/* A slight variation of evaluating each expression in "el" in "rho". */

/* used in evalArgs, arithmetic.c, seq.c */
SEXP attribute_hidden evalListKeepMissing(SEXP el, SEXP rho)
{
SEXP head, tail, ev, h;

int mode;  /* mode==0 is 0 args, mode==1 is 1 arg, mode==2 is >1 arg */

head = R_NilValue;
mode = 0;  

while (el != R_NilValue) {

/* If we have a ... symbol, we look to see what it is bound to.
 * If its binding is Null (i.e. zero length)
 *  we just ignore it and return the cdr with all its expressions 
evaluated;
 * if it is bound to a ... list of promises,
 *  we force all the promises and then splice
 *  the list of resulting values into the return value.
 * Anything else bound to a ... symbol is an error
*/
if (CAR(el) == R_DotsSymbol) {
h = findVar(CAR(el), rho);
if (TYPEOF(h) == DOTSXP || h == R_NilValue) {
while (h != R_NilValue) {
if (mode==1) {
   PROTECT(head);
   m

[Rd] How do you make a formal "feature" request?

2010-08-21 Thread Donald Winston
Who decides what features are in R and how they are implemented? If there is 
someone here who has that authority I have this request: 

A report() function analogous to the plot() function that makes it easy to 
generate a report from a table of data. This should not be in some auxiliary 
package, but part of the core R just like plot(). As a long time SAS user I 
cannot believe R does not have this. Please don't give me any crap about 
Sweave, LaTex, and the "power" of R to roll your own. You don't have to "roll 
your own" plot do you? Reports are no different. If you don't agree do not 
bother me. If you agree then please bring this request to the appropriate 
authorities for consideration or tell me how to do it.

Thanks.
[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] How do you make a formal "feature" request?

2010-08-21 Thread Jeff Ryan
The *user* decides.  That would be YOU.

Unlike SAS no one has a responsibility to YOU to implement some random request.

Packages are how things are implemented.

And to continue a previous thread ... maybe you should RTFM.

Jeff

On Sat, Aug 21, 2010 at 10:41 AM, Donald Winston  wrote:
> Who decides what features are in R and how they are implemented? If there is 
> someone here who has that authority I have this request:
>
> A report() function analogous to the plot() function that makes it easy to 
> generate a report from a table of data. This should not be in some auxiliary 
> package, but part of the core R just like plot(). As a long time SAS user I 
> cannot believe R does not have this. Please don't give me any crap about 
> Sweave, LaTex, and the "power" of R to roll your own. You don't have to "roll 
> your own" plot do you? Reports are no different. If you don't agree do not 
> bother me. If you agree then please bring this request to the appropriate 
> authorities for consideration or tell me how to do it.
>
> Thanks.
>        [[alternative HTML version deleted]]
>
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Jeffrey Ryan
jeff.a.r...@gmail.com

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] How do you make a formal "feature" request?

2010-08-21 Thread Dirk Eddelbuettel

On 21 August 2010 at 11:41, Donald Winston wrote:
| Who decides what features are in R and how they are implemented? If there is 
someone here who has that authority I have this request: 
| 
| A report() function analogous to the plot() function that makes it easy to
| generate a report from a table of data. This should not be in some
| auxiliary package, but part of the core R just like plot(). As a long time
| SAS user I cannot believe R does not have this. Please don't give me any
| crap about Sweave, LaTex, and the "power" of R to roll your own. You don't
| have to "roll your own" plot do you? Reports are no different. If you don't
| agree do not bother me. If you agree then please bring this request to the
| appropriate authorities for consideration or tell me how to do it. 

I usually write them on a small note and put them under my pillow.

Dirk

-- 
Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] How do you make a formal "feature" request?

2010-08-21 Thread Hadley Wickham
> A report() function analogous to the plot() function that makes it easy to 
> generate a report from a table of data. This should not be in some auxiliary 
> package, but part of the core R just like plot(). As a long time SAS user I 
> cannot believe R does not have this. Please don't give me any crap about 
> Sweave, LaTex, and the "power" of R to roll your own. You don't have to "roll 
> your own" plot do you? Reports are no different. If you don't agree do not 
> bother me. If you agree then please bring this request to the appropriate 
> authorities for consideration or tell me how to do it.

I know it's frustrating when a program doesn't do what you want to do,
and I agree with you that R's reporting capabilities are not (yet) as
easy to use as SAS (although they can be more powerful and flexible).
You may have noticed that when you downloaded R that you didn't have
to pay anyone any money to use it - this has both advantages and
disadvantages. The advantage are obvious (it's free!), but a
disadvantage is that no-one is funded to work on R full time. This
means that most contributors to R (even the core developers!) work on
R either as part of another job or in their free time, and so usually
work on the aspects of statistics and data analysis that most interest
them. If you want a core developer to work on something, you either
need to get them interested in your problem or find money to buy some
of their time.

Another disadvantage from your perspective is that while SAS is a
business and therefore cares (at least a tiny amount) about your
business, R does not. Everyone who provides help on R-help does so out
of the goodness of their heart, not because they get paid. Replies can
sometimes be rather irascible, and even rude, and while I personally
don't like the lack of manners, you still get far more than what you
pay for.

At the end of the day, if R doesn't meet your needs, why not continue using SAS?

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Hadley Wickham
> previous suggestion by a regular contributor.  I still think a better
> response is not to escalate:  Either ignore the post or say something like,
> "I don't understand your question.  Please provide a self-contained minimal
> example as suggested in the Posting Guide ... ."

I agree wholeheartedly. I have tried to do this with the ggplot2
mailing list, and I think it has been extremely successful in
fostering a community that is friendly and polite, yet still provides
excellent technical support (and these days, most of it doesn't come
from me!).

I know it's frustrating when you see the same "stupid" question asked
over and over and over again, and it's so tempting to reply harshly,
but I think you're far better off just letting it go, and doing
something fun instead.

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] How do you make a formal "feature" request?

2010-08-21 Thread Barry Rowlingson
On Sat, Aug 21, 2010 at 4:41 PM, Donald Winston  wrote:
> Who decides what features are in R and how they are implemented? If there is 
> someone here who has that authority I have this request:
>
> A report() function analogous to the plot() function that makes it easy to 
> generate a report from a table of data. This should not be in some auxiliary 
> package, but part of the core R just like plot(). As a long time SAS user I 
> cannot believe R does not have this. Please don't give me any crap about 
> Sweave, LaTex, and the "power" of R to roll your own. You don't have to "roll 
> your own" plot do you? Reports are no different. If you don't agree do not 
> bother me. If you agree then please bring this request to the appropriate 
> authorities for consideration or tell me how to do it.

 Okay Donald, let's do this. Together. Because only you seem to know
what you want in this report() function.

 Can you spell out the sort of tables of data that report() will take,
what other options it will have and so on, and what its output will
be. It is quite possible someone out there will go "Yeah, I can do
that", and have a go, especially if they also go "Yeah, I could *use*
that too".

 If you really want it done, then you can pay money.

 So, spec please. From your earlier postings it sounds like not much
more than summary(d) and a few table(d) outputs.

Barry

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] How do you make a formal "feature" request?

2010-08-21 Thread Sharpie


Donald Paul Winston wrote:
> 
> Who decides what features are in R and how they are implemented? If there
> is someone here who has that authority I have this request: 
> 
> A report() function analogous to the plot() function that makes it easy to
> generate a report from a table of data. This should not be in some
> auxiliary package, but part of the core R just like plot(). As a long time
> SAS user I cannot believe R does not have this. Please don't give me any
> crap about Sweave, LaTex, and the "power" of R to roll your own. You don't
> have to "roll your own" plot do you? Reports are no different. If you
> don't agree do not bother me. If you agree then please bring this request
> to the appropriate authorities for consideration or tell me how to do it.
> 

Well, I can think of three ways it can go down:


1.  You want a shiny new pony.

You ask about it on the mailing list and it seems that everyone else in the
world responds "Hell yeah! I want to ride that too!".  In this case the
natives are restless enough that someone on R-Core may personally implement
the feature- especially if they want to ride the pony as well.

In this case, you need to provide a detailed specification of what kind of
pony you want, how it should be groomed and the exact pitch at which you
want it to whinny.  A good template for such as spec would be a Python
Enhancement Proposal (PEP) which is the way community-suggested core changes
are implemented in python.  An example is: 
http://www.python.org/dev/peps/pep-0389/

However, going this route is extremely rare.  You have to have a significant
amount of the user community rallying behind your idea and buy-in from core
developers who are interested in implementing and, most importantly,
maintaining and supporting the code.


2. You want a shiny new pony but not many other people in the word seem
interested.

In this situation you can do the work yourself, or with a group of other
like-minded pony enthusiasts, to bring your idea into the world.  Perhaps
the genetic material you are looking for is already present in the vast
herds of other ponies running wild on CRAN and elsewhere and you just have
to do a little breeding to get what you want.  Other times, the only way to
do right is to write everything from scratch.  Either way, in the end you
will have a pony that shines exactly the way you want it to that you can
enjoy for the rest of your life.

In this case, getting your new pony into R Core is unlikely.  The best
response you can hope for is something along the lines of "That is a mighty
fine pony you have there, but we really don't want it crapping all over our
stable".  They are not trying to be rude- the facts of life are that the
members of R Core have a limited amount of time and a lot of other ponies to
clean up after.  Add to that the fact that shoveling pony shit is a
thankless job that does not pay well and it is understandable why R Core may
be conservative about the number of ponies they let into the official
stable.

However, they will be more than happy to provide your pony with a stall at
CRAN so that everyone else in the world can take it out for a spin.  I have
never had a problem with installing and using packages from CRAN, even on
windows machines that have been locked down and then shot in both kneecaps
by the friendly neighborhood IT gestapo.  All and all, this option is
actually a pretty sweet deal; you will just have to drop by the CRAN stall
every once and a while and deal with the pony droppings yourself or people
will start to avoid it because of the smell.


3. You want a shiny new pony, but dont have the time or energy to pick out
or put together the exact one you want.

In this case, you can still get the pony you want but it will cost you
money.  There are R programmers out there who can write you a package if you
pay them the right price.  Supporting your local grad student population can
also work; hunger is a great motivator.

In the end you can also pay a corporate pony breeder like SAS for a trusty
thoroughbred that is well respected by people in high places.  However, you
may notice that these ponies bear some telltale signs of inbreeding-- one of
their eyes may not point in the same direction as the other or the pony
becomes confused easily when put in an unfamiliar situation.  Given there is
not a lot you can do about these defects, you may suffer a crippling case of
buyers remorse especially when you see the bill.


Ok, I think i've thoroughly beat this horse analogy to death and I'm going
to stop now.

-Charlie


-
Charlie Sharpsteen
Undergraduate-- Environmental Resources Engineering
Humboldt State University
-- 
View this message in context: 
http://r.789695.n4.nabble.com/How-do-you-make-a-formal-feature-request-tp2333593p2333737.html
Sent from the R devel mailing list archive at Nabble.com.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] How do you make a formal "feature" request?

2010-08-21 Thread James Bullard
I use the summary function. Being unfamiliar with the SAS report function, it 
is difficult to answer more completely.

jim

On Aug 21, 2010, at 8:41 AM, Donald Winston wrote:

> Who decides what features are in R and how they are implemented? If there is 
> someone here who has that authority I have this request: 
> 
> A report() function analogous to the plot() function that makes it easy to 
> generate a report from a table of data. This should not be in some auxiliary 
> package, but part of the core R just like plot(). As a long time SAS user I 
> cannot believe R does not have this. Please don't give me any crap about 
> Sweave, LaTex, and the "power" of R to roll your own. You don't have to "roll 
> your own" plot do you? Reports are no different. If you don't agree do not 
> bother me. If you agree then please bring this request to the appropriate 
> authorities for consideration or tell me how to do it.
> 
> Thanks.
>   [[alternative HTML version deleted]]
> 
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R-devel Digest, Vol 90, Issue 20

2010-08-21 Thread Simon Urbanek

On Aug 21, 2010, at 8:46 AM, Laurent wrote:

> On 21/08/10 12:00, r-devel-requ...@r-project.org wrote:
>> 
>> On Aug 20, 2010, at 1:59 PM, Matt Shotwell wrote:
>> 
>>> >  On Fri, 2010-08-20 at 12:58 -0400, Sharpie wrote:
 >>
 >>  Donald Paul Winston wrote:
> (...)
 >>
 >>  Donald Paul Winston wrote:
> >>>
> >>>  It appears R insists on directing plot output to a file. Is their a
> >>>  graphics device that keeps the output in memory so it can be 
> >>> returned to
> >>>  my java app as a stream of bytes? If I have to wait for it to write 
> >>> to a
> >>>  "unique file" and then read it back again then I don't think that's 
> >>> going
> >>>  to work. My web app needs to support hundreds of concurrent clients.
> >>>
 >>
 >>  As far as I know all R graphics output that does not go to a screen 
 >> device,
 >>  such as an X window, must be directed to some sort of file.  I am not 
 >> aware
 >>  of a graphics device that provides output to something other than a 
 >> screen
 >>  or a file, but there very well may be such a device in existence.
> 
> For experimentation purpose, the rpy2 project is finalizing a system to allow 
> Python-written graphical devices (no C-level R extensions, just Python). 
> Beside other niceties, it will allow working around the lack of
> connection API in R for graphics.
> Since Python makes the use of file-like objects straightforward, we plan 
> providing devices that are streams (nice for serving graphics from web 
> applications without having to worry about temp files).
> 

Well, that doesn't help with the issue we raised since you still cannot use R 
connections. It's trivial to modify any of the existing devices (e.g. Cairo as 
I said) to support in-memory storage as they already support that internally - 
certainly much easier that to mess with Python etc. Nonetheless, yes, it is 
another way along the lines of xGD, JavaGD etc.

Cheers,
Simon



> 
>>> >  This was essentially the conclusion of Donald's earlier thread...
>>> >
 >>  The functionality you could describe could be implemented by writing a 
 >> R
 >>  graphics device that forwards the R plotting commands to... well 
 >> anywhere
 >>  you want, really.  As the author of an R graphics device, I can say the
 >>  trickiest part of such an undertaking will be calculating font metrics 
 >> so
 >>  that R can properly position text in the graphics.  Everything else is 
 >> very
 >>  straight-forward.
>>> >
>>> >  I believe Donald wants the_rendered_  output. That is, a stream of bytes
>>> >  that represent a png, jpeg, etc. Toward this end, we have already
>>> >  discussed using an OS-level fifo to avoid disk I/O, and I think this is
>>> >  the easiest route for Donald.
>>> >
>>> >  Alternatively, Donald might look into the X11 graphics driver, where
>>> >  Cairo is used to write pngs. In particular, the in_do_saveplot function
>>> >  (src/main/modules/X11/devX11.c) calls cairo_surface_write_to_png, in
>>> >  order to save a png to file. Cairo also provides the
>>> >  cairo_surface_write_to_png_stream function, which might be used to send
>>> >  png data to a memory buffer (i.e. a raw vector). I don't think it would
>>> >  be too difficult to modify in_do_saveplot to accommodate this.
>>> >
>> That is all nice, it will require you to hack R (well, there is the Cairo 
>> device so you could make the change outside of R instead).
>> 
>> As always, the reason is buried deep inside -- the lack of connection API. 
>> If we had that, devices would take a connection instead of the file name and 
>> all would be well since you could use in-memory connections instead of files 
>> ...;)
> 
> May I dare asking about what happened to past offers to alleviate the problem 
> ?
> 
> There is at least one patch (contributed 4 years ago)
> http://rwiki.sciviews.org/doku.php?id=developers:r_connections_api
> that remained seemingly ignored, and subsequent requests for updates (or 
> patch submission policies) remained similarly unanswered.
> 
> A recent thread showed unexpected progress, with the eventual possibility of 
> accepting a patch being worded.
> http://www.mail-archive.com/r-devel@r-project.org/msg20276.html
> Unfortunately the thread drifted into legalese invocations, and despite the 
> author of the patch complying to all demands regarding the licensing flavour 
> for his contribution the patch seems to have joined (all ?) other submitted 
> patches. (I don't get anything when running:
> svn log -r {2010-04-27}:HEAD | grep -i Shotwell
> ).
> 
> Are there such patches included in the Revolution R sources, or are there 
> plans to do so ?
> 
> 
> 
> Laurent
> 
> 
> 
> 
>> Cheers,
>> Simon
>> 
>> 
>> 
> 
> 

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Paul Johnson
On Sat, Aug 21, 2010 at 11:04 AM, Hadley Wickham  wrote:
>> previous suggestion by a regular contributor.  I still think a better
>> response is not to escalate:  Either ignore the post or say something like,
>> "I don't understand your question.  Please provide a self-contained minimal
>> example as suggested in the Posting Guide ... ."
>
> I agree wholeheartedly. I have tried to do this with the ggplot2
> mailing list, and I think it has been extremely successful in
> fostering a community that is friendly and polite, yet still provides
> excellent technical support (and these days, most of it doesn't come
> from me!).
>

I've been insulted in r-help and its no fun.  After Gabor pointed out
the logic in it,  I have to admit he is right. It does keep traffic
down.  I don't go there anymore unless I'm completely desperate.

I agree also, sometimes RTFM is the right answer, especially if it is
stated as "That is discussed on p. 162 of the R Guide for Whatever..."
 I don't think people are insulted if  you tell them to check
something specific.

Usually, first time visitors don't know about the R posting guide and
when they ask an incomplete question, we should just refer them to it.
 We don't need the angry tone that we often see, but I don't think
people mind being referred. This presupposes the posting guide is
helpful. If somebody forgets the posting guide twice, then I think we
should all berate and insult them. I mean vigorously :)

My personal opinion is that the R posting guide could be revised to be
more direct.  Exhausted, frustrated people don't benefit as much as
they could because the document is too long.

This is hard to fix because everything in there was added for a good
reasons.  (I've been here long enough to remember a time before the
guide, sad to say.)  I tried to reshape the posting guide and I can
see that it is a really hard problem.

What do you think of this: The priority is to put the most important
thing at the top. The second priority is brevity.

=

Posting Guide: How to ask good questions that prompt useful answers

People are busy, so ask your question in a useful way.

1. Every question to r-help should begin with the following.

A. Output from the command sessionInfo()

B. Output from Sys.getlocale()

C. Information about how you installed R. Did you make any changes,
such as incorporating a BLAS library. If you don't know, ask your
system administrator.

D. If you see an error or something unexpected, your message MUST
include the EXACT code that you were running. We mean, ALL of your
commands that were run before the error occurred.  If you are unsure
of what you did, close your session, clean up your code, and start
over to reproduce the  problem in the most direct way.  Your post MUST
include the EXACT VERBATIM error message.

If you are working on a long program that requires a dataset,
post the dataset and the program somewhere on the Internet and
refer us to it. It is simply not possible to guess about what
might be going wrong in your program unless we can see it.

If you don't want to share your data, construct a small example
dataset that produces the same problem. Post it and refer us to it.

E. If you have isolated the problem to a certain part of your project,
write a small, self-contained 'working example' that causes the
problem and include it with your post.

Example. Why does this code:

dat <- data.frame(x=c(1,2,3), y=c(3,4,5))
plot (x, y, data=dat)

cause this:

Error in plot(x, y, data = dat) : object 'x' not found

We can easily reproduce that and explain the problem to you. We can't
help with a question like "my plot failed, something about an object
was missing."

2. How to avoid making the members of r-help angry at you.

A. Do not call a problem a "bug" unless you really mean to say that
   someone has made a mistake. If you say "bug", they hear
   "embarrassing personal flaw" or "gigantic boil".  We know
   you don't mean that, but sometimes they forget.

B. Before you write to r-help, search for answers from previous questions.
   1. Try Google? Or her cousin Yahoo?
   2. Try these inside R:

  help.search("whatever")
  RSiteSearch("whatever")
  apropos("whatever")

C. Read R-intro, R help pages, and the R FAQs.

  ?whatever


3. Do not send your question to r-help unless your question is about R
or the base R packages that are supported by the R Core Team.

A. Don't ask statistics questions, unless they fall into the form "Which
R procedure or package should I use to conduct an analysis of ..." or
"Does anybody have a working example of procedure XYZ?" or "Can I
obtain XYZ result from an obect of class ZYX?"

B. If you have trouble with a package from CRAN or elsewhere, write to
the author of that package.  r-help might be a good place to ask,
"I've been using package XYZ and the author seems to have abandoned
the project. Does anybody know of a replacement?" Otherwise, don't.

Note that the

Re: [Rd] No RTFM?

2010-08-21 Thread Ben Bolker
Paul Johnson  gmail.com> writes:

> 

 [snip: lots more snippage to try get gmane to let me post]

> What do you think of this: The priority is to put the most important
> thing at the top. The second priority is brevity.

  I really like this.
  Some suggestions:

=
> Posting Guide: How to ask good questions that prompt useful answers
> 
> People are busy, so ask your question in a useful way.
> 1. Every question to r-help should begin with the following.
> A. Output from the command sessionInfo()
> B. Output from Sys.getlocale()
> C. Information about how you installed R. Did you make any changes,
> such as incorporating a BLAS library. If you don't know, ask your
> system administrator.

   I would make this optional or put it further down. I don't see that
many problems on the list that are due to non-standard installations.
Most of the most clueless people are (a) using stock installations
and/or (b) don't even know who installed R on the computer they are
using. I don't mind sending them to find out/ask if it's a real
issue, but it feels like an unnecessary hurdle.

> D. If you see an error or something unexpected, your message MUST
> include the EXACT code that you were running. We mean, ALL of your
> commands that were run before the error occurred.  If you are unsure
> of what you did, close your session, clean up your code, and start
> over to reproduce the  problem in the most direct way.  Your post MUST
> include the EXACT VERBATIM error message.
> 
> If you are working on a long program that requires a dataset,
> post the dataset and the program somewhere on the Internet and
> refer us to it. It is simply not possible to guess about what
> might be going wrong in your program unless we can see it.
> 
> If you don't want to share your data, construct a small example
> dataset that produces the same problem. Post it and refer us to it.

   This is where we have to emphasize 'small, reproducible example'
more strongly -- perhaps move the next item up. 
I dread the pages and pages of random R-session crap
that will be posted following this advice literally ...
 
> E. If you have isolated the problem to a certain part of your project,
> write a small, self-contained 'working example' that causes the
> problem and include it with your post.
> 
> Example. Why does this code:
> 
> dat <- data.frame(x=c(1,2,3), y=c(3,4,5))
> plot (x, y, data=dat)
> 
> cause this:
> 
> Error in plot(x, y, data = dat) : object 'x' not found
> 
> We can easily reproduce that and explain the problem to you. We can't
> help with a question like "my plot failed, something about an object
> was missing."
> 
> 2. How to avoid making the members of r-help angry at you.
> 
> A. Do not call a problem a "bug" unless you really mean to say that
>someone has made a mistake. If you say "bug", they hear
>"embarrassing personal flaw" or "gigantic boil".  We know
>you don't mean that, but sometimes they forget.

  [note that there is already information on 'what is a bug' in the
posting guide -- I think -- or maybe it's the R FAQ]

> 
> B. Before you write to r-help, search for answers from previous questions.
>1. Try Google? Or her cousin Yahoo?
 
This should be for more general statistics questions, and perhaps
put second.

>2. Try these inside R:
> 
>   help.search("whatever")
>   RSiteSearch("whatever")
>   apropos("whatever")

  perhaps add
  install.packages("sos"); library(sos); findFn("whatever")
> 
> C. Read R-intro, R help pages, and the R FAQs.
> 
>   ?whatever
> 
> 3. Do not send your question to r-help unless your question is about R
> or the base R packages that are supported by the R Core Team.
> 
> A. Don't ask statistics questions, unless they fall into the form "Which
> R procedure or package should I use to conduct an analysis of ..." or
> "Does anybody have a working example of procedure XYZ?" or "Can I
> obtain XYZ result from an obect of class ZYX?"
> 
> B. If you have trouble with a package from CRAN or elsewhere, write to
> the author of that package.  

 ^^^ maintainer; use maintainer("whatever") to find their e-mail address.

> r-help might be a good place to ask,
> "I've been using package XYZ and the author seems to have abandoned
> the project. Does anybody know of a replacement?" Otherwise, don't.
> 
> Note that the Bioconductor repository is not part of "R" proper and
> you should address questions about Bioconductor to their support framework.
> 
> C. If you are writing code for R itself, or if you are developing a
>package, send your question to r-devel, rather than r-help.
> 
> D. For operating-system or R interface questions, there are dedicated
> lists. See R-sig-Mac, R-sig-Debian, R-sig-Fedora, etc.
> 
> ==
> 
> It will be necessary to add, toward the end, the part about "be polite
> when posting."
> 
> And along the lines of the "No RTFM" policy, I think we should say
> "All RTFM answers s

Re: [Rd] How do you make a formal "feature" request?

2010-08-21 Thread Gavin Simpson
On Sat, 2010-08-21 at 11:41 -0400, Donald Winston wrote:
> Who decides what features are in R and how they are implemented? If
> there is someone here who has that authority I have this request: 

The R Core Development Team decide on what goes into the base R source
code.

You have almost zero chance of getting such a thing in base R. I say
that for several reasons; i) You haven't provided any code to implement
report() or provided a good description of what you would like
implemented, ii) R Core like to keep the base source code a small as
possible to limit the maintenance burden on themselves, iii) R has the
package mechanism so you or anyone else can add whatever features you
want to R, have it hosted on CRAN and be available to any R user at the
click of a button, iv) your attitude stinks!

I could go on, but I feel I'm just feeding a troll at this point.

I look forward to seeing your report package implementing a report()
function on CRAN in the near future. There are several manuals written
which document how to write extensions to the R environment, numerous
books on programming in R and several example reporting systems that
we've mentioned to you. Check out the R website for these. Learn some R,
do some reading, examine those systems that do exist then roll your own
function and let us all benefit. I won't hold my breath of course.
Whiners are not often doers...

Good luck!

G

> A report() function analogous to the plot() function that makes it
> easy to generate a report from a table of data. This should not be in
> some auxiliary package, but part of the core R just like plot(). As a
> long time SAS user I cannot believe R does not have this. Please don't
> give me any crap about Sweave, LaTex, and the "power" of R to roll
> your own. You don't have to "roll your own" plot do you? Reports are
> no different. If you don't agree do not bother me. If you agree then
> please bring this request to the appropriate authorities for
> consideration or tell me how to do it.
> 
> Thanks.
>   [[alternative HTML version deleted]]
> 
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 Dr. Gavin Simpson [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,  [f] +44 (0)20 7679 0565
 Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk
 Gower Street, London  [w] http://www.ucl.ac.uk/~ucfagls/
 UK. WC1E 6BT. [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Gabor Grothendieck
On Sat, Aug 21, 2010 at 6:47 PM, Paul Johnson  wrote:
> On Sat, Aug 21, 2010 at 11:04 AM, Hadley Wickham  wrote:
>>> previous suggestion by a regular contributor.  I still think a better
>>> response is not to escalate:  Either ignore the post or say something like,
>>> "I don't understand your question.  Please provide a self-contained minimal
>>> example as suggested in the Posting Guide ... ."
>>
>> I agree wholeheartedly. I have tried to do this with the ggplot2
>> mailing list, and I think it has been extremely successful in
>> fostering a community that is friendly and polite, yet still provides
>> excellent technical support (and these days, most of it doesn't come
>> from me!).
>>
>
> I've been insulted in r-help and its no fun.  After Gabor pointed out
> the logic in it,  I have to admit he is right. It does keep traffic
> down.  I don't go there anymore unless I'm completely desperate.
>
> I agree also, sometimes RTFM is the right answer, especially if it is
> stated as "That is discussed on p. 162 of the R Guide for Whatever..."
>  I don't think people are insulted if  you tell them to check
> something specific.
>
> Usually, first time visitors don't know about the R posting guide and
> when they ask an incomplete question, we should just refer them to it.
>  We don't need the angry tone that we often see, but I don't think
> people mind being referred. This presupposes the posting guide is
> helpful. If somebody forgets the posting guide twice, then I think we
> should all berate and insult them. I mean vigorously :)
>
> My personal opinion is that the R posting guide could be revised to be
> more direct.  Exhausted, frustrated people don't benefit as much as
> they could because the document is too long.

Regarding length, the portion at the end of every r-help message (but
this does not appear at the end of r-devel messages or the messages
of other lists concerning R):

   "provide commented, minimal, self-contained, reproducible code."

It was intended to provide a one line synopsis of the key part of the posting
guide that could be readily pointed to.  Although we have to be careful about
making that too verbose, as well, it might not be too onerous to add
one more line
such as:

   "and use ?, RSiteSeach("my term") and http://rseek.org before posting"

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Hadley Wickham
> Regarding length, the portion at the end of every r-help message (but
> this does not appear at the end of r-devel messages or the messages
> of other lists concerning R):
>
>   "provide commented, minimal, self-contained, reproducible code."
>
> It was intended to provide a one line synopsis of the key part of the posting
> guide that could be readily pointed to.  Although we have to be careful about
> making that too verbose, as well, it might not be too onerous to add

But no one reads email footers...

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Gabor Grothendieck
On Sat, Aug 21, 2010 at 8:59 PM, Hadley Wickham  wrote:
>> Regarding length, the portion at the end of every r-help message (but
>> this does not appear at the end of r-devel messages or the messages
>> of other lists concerning R):
>>
>>   "provide commented, minimal, self-contained, reproducible code."
>>
>> It was intended to provide a one line synopsis of the key part of the posting
>> guide that could be readily pointed to.  Although we have to be careful about
>> making that too verbose, as well, it might not be too onerous to add
>
> But no one reads email footers...
>

I would expect that a lot more people read that than the posting guide.

Its also useful as something to point to that is more accessible than
the posting guide since its right there.

One can be sure its been received since every message contains it.

Finally it gives the key info that someone needs to effectively use r-help.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Spencer Graves
 I've answered many email posts by copying and editing the email 
footer.  That's much more friendly, informative and effective than just 
RTFM.  (As previously noted in this thread, it's often hard to know 
which FMTR.)



Spencer


On 8/21/2010 6:08 PM, Gabor Grothendieck wrote:

On Sat, Aug 21, 2010 at 8:59 PM, Hadley Wickham  wrote:

Regarding length, the portion at the end of every r-help message (but
this does not appear at the end of r-devel messages or the messages
of other lists concerning R):

   "provide commented, minimal, self-contained, reproducible code."

It was intended to provide a one line synopsis of the key part of the posting
guide that could be readily pointed to.  Although we have to be careful about
making that too verbose, as well, it might not be too onerous to add

But no one reads email footers...


I would expect that a lot more people read that than the posting guide.

Its also useful as something to point to that is more accessible than
the posting guide since its right there.

One can be sure its been received since every message contains it.

Finally it gives the key info that someone needs to effectively use r-help.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel




--
Spencer Graves, PE, PhD
President and Chief Operating Officer
Structure Inspection and Monitoring, Inc.
751 Emerson Ct.
San José, CA 95126
ph:  408-655-4567

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] No RTFM?

2010-08-21 Thread Ted Harding
I've stayed in by back seat in the spectators so far, but I feel
a comment may be helpful here.

I'm in close sympathy with Hadley Wickham's comment on a "previous
suggestion by a regular contributor" [Spencer Graves] (below) and
with the comment by Spencer himself.

We are a community with a variety of attitudes, from prescriptive
(to the point of disciplinarian) to relaxed and permissive. 
The problem with this sort of discussion is that the former feel
able to propose detailed prescriptions, while the latter do not
have a definite "party line" to set out in any sort of detail.

The more specific and detailed the prescriptive proposals become,
the more they take on forms which could readily be adopted into
the guidelines for the list, and may therefore seem attractive to
those who maintain the guidelines. Meanwhile, the permissives have
not proposed any such specific alternatives.

I do not feel at all comfortable with Paul's suggestions below
(for reasons which I have explained in-line). To follow these
suggestions would make posting to R become more and more like
filling in a Tax Return! (In the days when I had to so this,
I would work with two photocopies of a 12-page form, a pencil,
and an eraser, doing 1st draft on copy one, then re-starting
from scratch 2nd draft on copy 2, all the time consulting a
44-page Tax Return Guide and a 16-page Tax Calculation Guide.
Then comparing the two for agreement, and starting again if
they didn't. Only when it was all apparently OK would I transcribe
in ink onto the real Return Form. It would take at least a day.).

Regarding peremptory responses to "RTFM" and the like, if I come
across one (as when interested in a thread so opening the emails
about it) I simply delete it with mild irritation (and regret the
waste of space on the list). And with likely sympathy for the
person who provoked it (see below).

Regarding the sort of query which can provoke such responses,
I think one can try to be discriminating. Occasionally they are
pretty clearly from people who are trying to get someone else
to do their work without making any effort of their own.
Appropriate response should fit the case, and need not take the
form of an automatic "speeding ticket".

Usually, however, they are from naive users who are only beginning
to find their way in R (and its documentation). Both of these are
daunting and bewildering tasks for beginners. And not only beginners.
I've been using R myself for well over 10 years, and seriously for
nearly 10. I can still wander for a long time through "a maze of
twisty tunnels, all alike" when trying to track down some essential
thing (graphics parameters and other options(), in particular, can
turn into a real "Dungeons and Dragons"). One can even begin to
wonder whether what one is looking for is documented at all (and
sometimes it isn't). What with the various introductory manuals
(which are indeed good), trying '?whatever' and being led off into
a trail of "See also:"s, trying '??whatever' to try to flush up
some functions that might be relevant, and the mass of web-pages
one might be led to on an R Site Search, we have a whole meadow
full of haystacks in which to search for a needle! And don't try
to tell me that all the '?...' help pages are models of simplicity,
clarity, and self-containment!

So, if one recognises such a query, one can try to get some insight
into what the real obstacle is. If you get that, then a well-chosen
example along with some clear explanation can help that beginner
over that problem, encourage them, and give them confidence in their
own hopes for understanding and using R, and solving such problems
for themselves in future. Even if it seems that they don't even know
how to climb over a stile on a footpath, a little encouragement to
put one foot on the near end of the cross-step, swing the other leg
over the top and put the other foot on the other end, then swing the
first foot over and onto the cross-step, then finally hop neatly down
onto the ground, can evoke an "Ahh!!" and leave them fully equipped
to deal with the next stile (and some insight into stiles in general).

With R, the analogy would be more like showing (and explaining) the
manoeuvres which will take them up the first pitch of a rock-climb.

I think that, if one does not feel inclined to take such an approach,
then it is better simply to move on, maybe deleting the query. There
is no point in a response which is both discouraging and unhelpful.
"RTFM" (and variants) is likely to be perceived as a put-down, and
(unless accompanied by sympathetic detailed guidance) will not help
to solve the problem. (Some seem to have the mind of a Tax Man, to
whom all is transparently contained in 44+16 pages of complicated
and intricately cross-referenced Guides).

So, in my view, the Posting Guide should be a true guide, but should
avoid giving any impression that jumping through documentation hoops
is a prerequisite for a valid posting to the list. Therefore it
shou

[Rd] fortune? (was: Re: How do you make a formal "feature" request?)

2010-08-21 Thread Liviu Andronic
Dear all
I was wondering whether such a long post could be fortune-ed. What do you think?

Regards
Liviu


On Sat, Aug 21, 2010 at 9:33 PM, Sharpie  wrote:
> Well, I can think of three ways it can go down:
>
>
> 1.  You want a shiny new pony.
>
> You ask about it on the mailing list and it seems that everyone else in the
> world responds "Hell yeah! I want to ride that too!".  In this case the
> natives are restless enough that someone on R-Core may personally implement
> the feature- especially if they want to ride the pony as well.
>
> In this case, you need to provide a detailed specification of what kind of
> pony you want, how it should be groomed and the exact pitch at which you
> want it to whinny.  A good template for such as spec would be a Python
> Enhancement Proposal (PEP) which is the way community-suggested core changes
> are implemented in python.  An example is:
> http://www.python.org/dev/peps/pep-0389/
>
> However, going this route is extremely rare.  You have to have a significant
> amount of the user community rallying behind your idea and buy-in from core
> developers who are interested in implementing and, most importantly,
> maintaining and supporting the code.
>
>
> 2. You want a shiny new pony but not many other people in the word seem
> interested.
>
> In this situation you can do the work yourself, or with a group of other
> like-minded pony enthusiasts, to bring your idea into the world.  Perhaps
> the genetic material you are looking for is already present in the vast
> herds of other ponies running wild on CRAN and elsewhere and you just have
> to do a little breeding to get what you want.  Other times, the only way to
> do right is to write everything from scratch.  Either way, in the end you
> will have a pony that shines exactly the way you want it to that you can
> enjoy for the rest of your life.
>
> In this case, getting your new pony into R Core is unlikely.  The best
> response you can hope for is something along the lines of "That is a mighty
> fine pony you have there, but we really don't want it crapping all over our
> stable".  They are not trying to be rude- the facts of life are that the
> members of R Core have a limited amount of time and a lot of other ponies to
> clean up after.  Add to that the fact that shoveling pony shit is a
> thankless job that does not pay well and it is understandable why R Core may
> be conservative about the number of ponies they let into the official
> stable.
>
> However, they will be more than happy to provide your pony with a stall at
> CRAN so that everyone else in the world can take it out for a spin.  I have
> never had a problem with installing and using packages from CRAN, even on
> windows machines that have been locked down and then shot in both kneecaps
> by the friendly neighborhood IT gestapo.  All and all, this option is
> actually a pretty sweet deal; you will just have to drop by the CRAN stall
> every once and a while and deal with the pony droppings yourself or people
> will start to avoid it because of the smell.
>
>
> 3. You want a shiny new pony, but dont have the time or energy to pick out
> or put together the exact one you want.
>
> In this case, you can still get the pony you want but it will cost you
> money.  There are R programmers out there who can write you a package if you
> pay them the right price.  Supporting your local grad student population can
> also work; hunger is a great motivator.
>
> In the end you can also pay a corporate pony breeder like SAS for a trusty
> thoroughbred that is well respected by people in high places.  However, you
> may notice that these ponies bear some telltale signs of inbreeding-- one of
> their eyes may not point in the same direction as the other or the pony
> becomes confused easily when put in an unfamiliar situation.  Given there is
> not a lot you can do about these defects, you may suffer a crippling case of
> buyers remorse especially when you see the bill.
>
>
> Ok, I think i've thoroughly beat this horse analogy to death and I'm going
> to stop now.
>
> -Charlie
>
>
> -
> Charlie Sharpsteen
> Undergraduate-- Environmental Resources Engineering
> Humboldt State University
> --
> View this message in context: 
> http://r.789695.n4.nabble.com/How-do-you-make-a-formal-feature-request-tp2333593p2333737.html
> Sent from the R devel mailing list archive at Nabble.com.
>
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Do you know how to read?
http://www.alienetworks.com/srtest.cfm
http://goodies.xfce.org/projects/applications/xfce4-dict#speed-reader
Do you know how to write?
http://garbl.home.comcast.net/~garbl/stylemanual/e.htm#e-mail

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel