[R] How to avoid copy-paste when copying code from this list

baptiste auguie baptiste.auguie at googlemail.com
Sat Sep 19 12:03:35 CEST 2009


it might be possible to set up a particular mode before copying the history,

### start example ###

email = function(op){
 if(!missing(op)) {
  options(op) } else {
  op <- options()
  options("prompt" = " ")
  options("continue" = " ")
  op
 }
}

op  = email()

a = 1:10
a

email(op)

a = 1:10
a

### end example ###

I'm not sure how one would add # to the result lines.

Best,

baptiste


2009/9/19 Ted Harding <Ted.Harding at manchester.ac.uk>:
> On 19-Sep-09 08:48:45, johannes rara wrote:
>> The R help mailing list posting guide
>>
>> http://www.r-project.org/posting-guide.html
>>
>> suggests to give an example in this form
>>
>> ...snip...
>> f I have a matrix x as follows:
>>   > x <- matrix(1:8, nrow=4, ncol=2,
>>                 dimnames=list(c("A","B","C","D"), c("x","y"))
>>   > x
>>     x y
>>   A 1 5
>>   B 2 6
>>   C 3 7
>>   D 4 8
>>   >
>> ...snip...
>>
>> Would it be reasonable to consider changing this guide about this
>> matter?
>
> Yes, I think there is a case for a change. I must have read the
> above myself, once, but ignored it later for the reasons I gave
> below. In any case, that citation is not in the context of advice
> about "how to format R code when posting" (there is no such advice
> explicitly given in the posting-guide), but in the context that it
> can be helpful to provide an example:
>
>  "Examples: Sometimes it helps to provide a small example that
>   someone can actually run. For example:"
>
> (then the example above). Possibly, people may tend to read that
> example as if it were advice on formatting the code.
>
> So maybe the change which could be helpful in the present context
> would be to follow the above example with a section which advised
> on how to format the code for examples which "someone can actually
> run" (they cannot "actually run" the code as given in the example).
>
> In other words, on the lines of
>
>  When posting R code for examples, when this is copied from an R
>  console remove any command prompts ">" and continuation prompts
>  "+" from the code as it appears on the R console, and precede
>  each line of R output, messages, etc., with "#" (to make it a
>  "comment", so that if the code is copy-pasted from R-help into an
>  R console it will work as-is without the need for further editing.
>  Example:
>  [...]
>
> What do other people (in particular the maintainers of the posting
> guide) think?
>
> Some might argue that the ">" and "+" prompts serve to mark the
> presence of R code and distinguish it from message text. But then
> the result is something that nobody "can actually run". I think,
> myself, that (especially with indenting of the code by a couple
> of spaces) the format I describe is clearly enough distinguished.
>
> Ted.
>
>> 2009/9/19 Ted Harding <Ted.Harding at manchester.ac.uk>:
>>> On 19-Sep-09 08:00:18, Cedrick W. Johnson wrote:
>>>> At least in windows, if you right click directly in the r console,
>>>> there's a command for 'Paste commands only' which may be one
>>>> solution...
>>>> Not sure about other platforms..
>>>>
>>>> hth
>>>> c
>>>
>>> It was precisely for this kind of reason that, when including
>>> R code in postings to the list, I took to formatting it in the
>>> following kind of way:
>>>
>>> _a <- 1:10
>>> _a
>>> _# [1] _1 _2 _3 _4 _5 _6 _7 _8 _9 10
>>>
>>> _a[1:5]
>>> _# [1] 1 2 3 4 5
>>>
>>> In this way, any R commands copy-pasted into R will work as-is,
>>> anything else is a comment and will not interfere. I notice that
>>> some other people also post their code in this way.
>>>
>>> I recommend it to all! If the code has been copy-pasted into the
>>> email from an R console, then of course the ">" prompts will be
>>> there. But then I just edit these out of the email. A bit more
>>> trouble for me, but a lot less trouble for others.
>>>
>>> For instance, if someone had posted the above as copied from the
>>> R console in its original form
>>>
>>>> a <- 1:10
>>>> a
>>> _[1] _1 _2 _3 _4 _5 _6 _7 _8 _9 10
>>>
>>>> a[1:5]
>>> [1] 1 2 3 4 5
>>>
>>> and I wanted to try it out, then I would either have to re-open the
>>> email in "edit" mode so as to edit the email itself, or else
>>> copy-paste
>>> the above into a text-edit window[*] and pre-edit it there before
>>> copying into R.
>>>
>>> [*] I would be using 'vim' in a Linux xterm. Removal of the "> "
>>> prompts (or "+ " continuation prompts) from a long series of commands
>>> is relatively easy: Just higlight a column-block of the first two
>>> columns, then press "d" to delete them. But you would first need to
>>> enter " _# " for other stuff by hand.
>>>
>>> Best wishes to all,
>>> Ted.
>>>
>>>>
>>>> johannes rara wrote:
>>>>> Hi,
>>>>>
>>>>> How do you people avoid copy-pasting and manual editing of the code
>>>>> posted in this list? I mean that if some one post a solution for an
>>>>> answer like this:
>>>>>
>>>>>
>>>>>> a <- 1:10
>>>>>> a
>>>>>>
>>>>> _[1] _1 _2 _3 _4 _5 _6 _7 _8 _9 10
>>>>>
>>>>>> a[1:5]
>>>>>>
>>>>> [1] 1 2 3 4 5
>>>>>
>>>>>
>>>>> I have to copy-paste it to e.g. Tinn-R and remove "> " part of the
>>>>> line to try it in my R. When you keep doing this it gets quite
>>>>> annoying. How do you people avoid this (search and replace,
>>>>> perhaps?).
>>>>> The best way would be to able to send this straight from your e-mail
>>>>> reader into R (e.g. from gmail).
>>>>>
>>>>> -Johannes
>>>
>>> --------------------------------------------------------------------
>>> E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
>>> Fax-to-email: +44 (0)870 094 0861
>>> Date: 19-Sep-09 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Time: 09:33:48
>>> ------------------------------ XFMail ------------------------------
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> 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.
>>>
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> 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.
>
> --------------------------------------------------------------------
> E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
> Fax-to-email: +44 (0)870 094 0861
> Date: 19-Sep-09                                       Time: 10:46:00
> ------------------------------ XFMail ------------------------------
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
>




More information about the R-help mailing list