Re: [R] Pasting data into scan()

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Tue 02 May 2006 - 18:43:21 EST

The file attachment I received had LF not CRLF line endings, but I think I have guessed what is happening here.

It works from Emacs if you paste into Rterm by not if you paste into Rgui, as the latter ignores tabs on input. The way to do it in Rgui is

scan("clipboard")

More generally, pasting control characters into any application is subject to their being interpreted in ways you do not expect.

On Tue, 2 May 2006, Murray Jorgensen wrote:

> I think that Mozilla Thunderbird replaces tabs with blanks routinely.
> I was actually pasting from Crimson Editor but results are identical with
> Notepad and MS Word. However there is no problem when pasting from WinEdt:
>
>> strength <- scan()
> 1: 0.023 0.032 0.054 0.069 0.081 0.094
> 7: 0.105 0.127 0.148 0.169 0.188 0.216
> 13: 0.255 0.277 0.311 0.361 0.376 0.395
> 19: 0.432 0.463 0.481 0.519 0.529 0.567
> 25: 0.642 0.674 0.752 0.823 0.887 0.926
> 31:
> Read 30 items
>
> and scanning the file directly works with or without ' sep="\t" ':
>> strength <- scan("C:\\Files\\Teaching\\STAT321\\tensile.dat")
> Read 30 items
>> strength <- scan("C:\\Files\\Teaching\\STAT321\\tensile.dat",sep="\t")
> Read 30 items
>
> I will send the file to BR (but not to the list!)
>
> Murray Jorgensen
>
> Prof Brian Ripley wrote:
>> No tabs are being echoed, so your cut/paste is removing the tabs.
>> What are you pasting from? (Not an R problem, of course.)
>>
>> On Tue, 2 May 2006, Murray Jorgensen wrote:
>>
>>> The file TENSILE.DAT from the Hand et al "Handbook of Small Data Sets"
>>> looks like this:
>>>
>>> 0.023 0.032 0.054 0.069 0.081 0.094
>>> 0.105 0.127 0.148 0.169 0.188 0.216
>>> 0.255 0.277 0.311 0.361 0.376 0.395
>>> 0.432 0.463 0.481 0.519 0.529 0.567
>>> 0.642 0.674 0.752 0.823 0.887 0.926
>>>
>>> except that my mail client has replaced the tab separators by blanks. If
>>> I paste this data into R 2.2.1 what I get is
>>>
>>> > strength <- scan()
>>> 1: 0.0230.0320.0540.0690.0810.094
>>> 1: 0.1050.1270.1480.1690.1880.216
>>> Error in scan() : scan() expected 'a real', got
>>> '0.0230.0320.0540.0690.0810.094'
>>> > 0.2550.2770.3110.3610.3760.395
>>> Error: syntax error in "0.2550.2770"
>>> > 0.4320.4630.4810.5190.5290.567
>>> Error: syntax error in "0.4320.4630"
>>> > 0.6420.6740.7520.8230.8870.926
>>> Error: syntax error in "0.6420.6740"
>>>
>>> Aha! I thought, what I need is scan(sep = "\t")
>>> but this generates the same error messages.
>>>
>>> Help! Murray
>>>
>>>
>>
>
>

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Tue May 02 19:56:44 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Tue 02 May 2006 - 20:10:05 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.