[Rd] strange behaviour read.table and clipboard

PIKAL Petr petr.pikal at precheza.cz
Wed Aug 16 10:37:22 CEST 2017


Hi

recent version, and the problem is also in most recent version (r73093 - tested on different PC)

> version
               _
platform       i386-w64-mingw32
arch           i386
os             mingw32
system         i386, mingw32
status         Under development (unstable)
major          3
minor          5.0
year           2017
month          07
day            31
svn rev        73003
language       R
version.string R Under development (unstable) (2017-07-31 r73003)
nickname       Unsuffered Consequences
>

> str(ll <- readLines("clipboard"))
 chr [1:2846] "a1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" ...
Warning message:
In readLines("clipboard") : incomplete final line found on 'clipboard'
> diff(which(ll=="a1"))
[1] 1365 1365
>

>

> str(ll <- readLines("clipboard"))
 chr [1:2846] "a1" "1" "1" "1" "1" "1" "1" "1" "1" "1" ...
> diff(which(ll=="a1"))
[1] 1365 1365

================================================================

version 11.01.2017
> version
               _
platform       x86_64-w64-mingw32
arch           x86_64
os             mingw32
system         x86_64, mingw32
status         Under development (unstable)
major          3
minor          4.0
year           2017
month          01
day            11
svn rev        71964
language       R
version.string R Under development (unstable) (2017-01-11 r71964)
nickname       Unsuffered Consequences
> str(ll <- readLines("clipboard"))
 chr "str(ll <- readLines(\"clipboard\"))"
> str(ll <- readLines("clipboard"))
 chr [1:2846] "a1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" ...
> diff(which(ll=="a1"))
integer(0)
>

So it works for R-devel version from the beginning of this year.

Cheers
Petr



> -----Original Message-----
> From: Martin Maechler [mailto:maechler at stat.math.ethz.ch]
> Sent: Wednesday, August 16, 2017 9:41 AM
> To: PIKAL Petr <petr.pikal at precheza.cz>
> Cc: Duncan Murdoch <murdoch.duncan at gmail.com>; r-devel at r-project.org
> Subject: Re: [Rd] strange behaviour read.table and clipboard
>
> >>>>> PIKAL Petr <petr.pikal at precheza.cz>
> >>>>>     on Wed, 16 Aug 2017 06:25:48 +0000 writes:
>
>     > Hi Duncan The simples spreadsheet is:
>
>     > Put a name in the cell, let say "a1" Put number e.g. 1
>     > below "a1" Copy the number to enough rows Select this
>     > column and press ctrl-c
>
>     > result is
>
>     >> temp<- read.delim("clipboard") str(temp)
>     > 'data.frame': 1513 obs. of 1 variable: $ a1: Factor w/ 2
>     > levels "1","a1": 1 1 1 1 1 1 1 1 1 1 ...
>     >> which(temp$a1=="a1")
>     > [1] 1365
>     >>
>
> To make this much easier to diagnose,
> use something like
>
>   str(ll <- readLines("clipboard"))
>
> and do this both in R 3.4.1 (or R 3.4.1 patched) and R-devel.
> (very easy if you use Emacs ESS also on Windows and have several  versions of
> R installed)
>
> I just did that and both versions of R behaved identically, i.e., returned the
> same 'll'
>
> (I've tried with different versions of Copy regions from excel;  my version of
> Windows (2008 Server R2, fully uptodate with
>  updates) is very different than yours; Office is said to be  Office 2013).
>
> Martin
>
>
>
>
>     > I tested it in vanilla R
>
>     >> sessionInfo()
>     > R Under development (unstable) (2017-07-31 r73003)
>     > Platform: x86_64-w64-mingw32/x64 (64-bit) Running under:
>     > Windows 10 x64 (build 14393)
>
>     > Matrix products: default
>
>     > locale: [1] LC_COLLATE=Czech_Czech Republic.1250
>     > LC_CTYPE=Czech_Czech Republic.1250 [3]
>     > LC_MONETARY=Czech_Czech Republic.1250 LC_NUMERIC=C [5]
>     > LC_TIME=Czech_Czech Republic.1250
>
>     > attached base packages: [1] stats graphics grDevices utils
>     > datasets methods base
>
>     > loaded via a namespace (and not attached): [1]
>     > compiler_3.5.0
>     >>
>
>     > Excel 16 or 15 I am not sure.
>
>     > R-devel 2015 (69443) works as expected so it started a
>     > believe around May or June this year, when I installed new
>     > R version.
>
>     > I hope it could help to trace the problem. If I can help
>     > any further, let me know.
>
>     > Best regards Petr
>
>
>
>     >> -----Original Message----- From: Duncan Murdoch
>     >> [mailto:murdoch.duncan at gmail.com] Sent: Wednesday, August
>     >> 16, 2017 12:35 AM To: PIKAL Petr
>     >> <petr.pikal at precheza.cz>; r-devel at r-project.org Subject:
>     >> Re: [Rd] strange behaviour read.table and clipboard
>     >>
>     >> On 15/08/2017 10:03 AM, PIKAL Petr wrote: > Dear all
>     >> >
>     >> > I used to transfer data from excel to R by simple
>     >> ctrl-c and read.delim("clipboard") construction. I know
>     >> it is a bad practice but it is easy and for quick
>     >> exploratory work it is OK. However after changing to new
>     >> R devel few days ago I encountered weird behaviour. I
>     >> tried one or two columns.
>     >>
>     >> You haven't posted something that is reproducible.  I
>     >> don't have Excel, but I can cut and paste from
>     >> Libreoffice, and I don't see this.  However, it's not the
>     >> same spreadsheet as you used, so I wouldn't be
>     >> comfortable saying I did what you did.
>     >>
>     >> Please reduce the size of your spreadsheet if you can,
>     >> and then post instructions for how to construct it, and
>     >> what to cut and paste from it.  Then others can try what
>     >> you did and see if this is specific to your machine, to
>     >> that particular version of R-devel, to Excel, etc.
>     >>
>     >> Duncan Murdoch
>     >>
>     >>
>     >> > In case of 2 columns, header is repeated after 526
>     >> items >> mar<-read.delim("clipboard") >>
>     >> which(mar$a2=="a1") > [1] 525 1051 1577 >>
>     >> diff(which(mar$a2=="a1")) > [1] 526 526 > and only first
>     >> header item is repeated.
>     >> >
>     >> > In case of one column, header is repeated after 1107
>     >> items
>     >> >
>     >> >> mar<-read.delim("clipboard") >>
>     >> diff(which(mar$a2=="a2")) > [1] 1107 1107
>     >> >
>     >> > And all items in object are therefore changed to
>     >> factor.
>     >> >
>     >> > BTW, readxl package works on same excel file smoothly.
>     >> >
>     >> > I will try to download the most recent R version to
>     >> check it, but it could take some time due to our IT
>     >> issues.
>     >> >
>     >> > Best regards > Petr
>     >> >
>     >> >> version > _ > platform x86_64-w64-mingw32 > arch
>     >> x86_64 > os mingw32 > system x86_64, mingw32 > status
>     >> Under development (unstable) > major 3 > minor 5.0 > year
>     >> 2017 > month 07 > day 31 > svn rev 73003 > language R >
>     >> version.string R Under development (unstable) (2017-07-31
>     >> r73003) > nickname Unsuffered Consequences
>     >> >
>     >> >
>     >> > ________________________________ > Tento e-mail a
>     >> jakékoliv k němu připojené dokumenty jsou důvěrné a jsou
>     >> určeny pouze jeho adresátům.  > Jestliže jste obdržel(a)
>     >> tento e-mail omylem, informujte laskavě neprodleně jeho
>     >> odesílatele. Obsah tohoto emailu i s přílohami a jeho
>     >> kopie vymažte ze svého systému.  > Nejste-li zamýšleným
>     >> adresátem tohoto emailu, nejste oprávněni tento email
>     >> jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.  >
>     >> Odesílatel e-mailu neodpovídá za eventuální škodu
>     >> způsobenou modifikacemi či zpožděním přenosu e-mailu.
>     >> >
>     >> > V případě, že je tento e-mail součástí obchodního
>     >> jednání: > - vyhrazuje si odesílatel právo ukončit
>     >> kdykoliv jednání o uzavření smlouvy, a to z jakéhokoliv
>     >> důvodu i bez uvedení důvodu.  > - a obsahuje-li nabídku,
>     >> je adresát oprávněn nabídku bezodkladně přijmout;
>     >> Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí
>     >> nabídky ze strany příjemce s dodatkem či odchylkou.  > -
>     >> trvá odesílatel na tom, že příslušná smlouva je uzavřena
>     >> teprve výslovným dosažením shody na všech jejích
>     >> náležitostech.  > - odesílatel tohoto emailu informuje,
>     >> že není oprávněn uzavírat za společnost žádné smlouvy s
>     >> výjimkou případů, kdy k tomu byl písemně zmocněn nebo
>     >> písemně pověřen a takové pověření nebo plná moc byly
>     >> adresátovi tohoto emailu případně osobě, kterou adresát
>     >> zastupuje, předloženy nebo jejich existence je adresátovi
>     >> či osobě jím zastoupené známá.
>     >> >
>     >> > This e-mail and any documents attached to it may be
>     >> confidential and are intended only for its intended
>     >> recipients.  > If you received this e-mail by mistake,
>     >> please immediately inform its sender.  Delete the
>     >> contents of this e-mail with all attachments and its
>     >> copies from your system.  > If you are not the intended
>     >> recipient of this e-mail, you are not authorized to use,
>     >> disseminate, copy or disclose this e-mail in any manner.
>     >> > The sender of this e-mail shall not be liable for any
>     >> possible damage caused by modifications of the e-mail or
>     >> by delay with transfer of the email.
>     >> >
>     >> > In case that this e-mail forms part of business
>     >> dealings: > - the sender reserves the right to end
>     >> negotiations about entering into a contract in any time,
>     >> for any reason, and without stating any reasoning.  > -
>     >> if the e-mail contains an offer, the recipient is
>     >> entitled to immediately accept such offer; The sender of
>     >> this e-mail (offer) excludes any acceptance of the offer
>     >> on the part of the recipient containing any amendment or
>     >> variation.  > - the sender insists on that the respective
>     >> contract is concluded only upon an express mutual
>     >> agreement on all its aspects.  > - the sender of this
>     >> e-mail informs that he/she is not authorized to enter
>     >> into any contracts on behalf of the company except for
>     >> cases in which he/she is expressly authorized to do so in
>     >> writing, and such authorization or power of attorney is
>     >> submitted to the recipient or the person represented by
>     >> the recipient, or the existence of such authorization is
>     >> known to the recipient of the person represented by the
>     >> recipient.  >
>     >> ______________________________________________ >
>     >> R-devel at r-project.org mailing list >
>     >> https://stat.ethz.ch/mailman/listinfo/r-devel
>     >> >
>
>
>     > ________________________________ Tento e-mail a jakékoliv
>     > k němu připojené dokumenty jsou důvěrné a jsou určeny
>     > pouze jeho adresátům.  Jestliže jste obdržel(a) tento
>     > e-mail omylem, informujte laskavě neprodleně jeho
>     > odesílatele. Obsah tohoto emailu i s přílohami a jeho
>     > kopie vymažte ze svého systému.  Nejste-li zamýšleným
>     > adresátem tohoto emailu, nejste oprávněni tento email
>     > jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
>     > Odesílatel e-mailu neodpovídá za eventuální škodu
>     > způsobenou modifikacemi či zpožděním přenosu e-mailu.
>
>     > V případě, že je tento e-mail součástí obchodního jednání:
>     > - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o
>     > uzavření smlouvy, a to z jakéhokoliv důvodu i bez uvedení
>     > důvodu.  - a obsahuje-li nabídku, je adresát oprávněn
>     > nabídku bezodkladně přijmout; Odesílatel tohoto e-mailu
>     > (nabídky) vylučuje přijetí nabídky ze strany příjemce s
>     > dodatkem či odchylkou.  - trvá odesílatel na tom, že
>     > příslušná smlouva je uzavřena teprve výslovným dosažením
>     > shody na všech jejích náležitostech.  - odesílatel tohoto
>     > emailu informuje, že není oprávněn uzavírat za společnost
>     > žádné smlouvy s výjimkou případů, kdy k tomu byl písemně
>     > zmocněn nebo písemně pověřen a takové pověření nebo plná
>     > moc byly adresátovi tohoto emailu případně osobě, kterou
>     > adresát zastupuje, předloženy nebo jejich existence je
>     > adresátovi či osobě jím zastoupené známá.
>
>     > This e-mail and any documents attached to it may be
>     > confidential and are intended only for its intended
>     > recipients.  If you received this e-mail by mistake,
>     > please immediately inform its sender. Delete the contents
>     > of this e-mail with all attachments and its copies from
>     > your system.  If you are not the intended recipient of
>     > this e-mail, you are not authorized to use, disseminate,
>     > copy or disclose this e-mail in any manner.  The sender of
>     > this e-mail shall not be liable for any possible damage
>     > caused by modifications of the e-mail or by delay with
>     > transfer of the email.
>
>     > In case that this e-mail forms part of business dealings:
>     > - the sender reserves the right to end negotiations about
>     > entering into a contract in any time, for any reason, and
>     > without stating any reasoning.  - if the e-mail contains
>     > an offer, the recipient is entitled to immediately accept
>     > such offer; The sender of this e-mail (offer) excludes any
>     > acceptance of the offer on the part of the recipient
>     > containing any amendment or variation.  - the sender
>     > insists on that the respective contract is concluded only
>     > upon an express mutual agreement on all its aspects.  -
>     > the sender of this e-mail informs that he/she is not
>     > authorized to enter into any contracts on behalf of the
>     > company except for cases in which he/she is expressly
>     > authorized to do so in writing, and such authorization or
>     > power of attorney is submitted to the recipient or the
>     > person represented by the recipient, or the existence of
>     > such authorization is known to the recipient of the person
>     > represented by the recipient.
>     > ______________________________________________
>     > R-devel at r-project.org mailing list
>     > https://stat.ethz.ch/mailman/listinfo/r-devel

________________________________
Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou určeny pouze jeho adresátům.
Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze svého systému.
Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či zpožděním přenosu e-mailu.

V případě, že je tento e-mail součástí obchodního jednání:
- vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy, a to z jakéhokoliv důvodu i bez uvedení důvodu.
- a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout; Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany příjemce s dodatkem či odchylkou.
- trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným dosažením shody na všech jejích náležitostech.
- odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo písemně pověřen a takové pověření nebo plná moc byly adresátovi tohoto emailu případně osobě, kterou adresát zastupuje, předloženy nebo jejich existence je adresátovi či osobě jím zastoupené známá.

This e-mail and any documents attached to it may be confidential and are intended only for its intended recipients.
If you received this e-mail by mistake, please immediately inform its sender. Delete the contents of this e-mail with all attachments and its copies from your system.
If you are not the intended recipient of this e-mail, you are not authorized to use, disseminate, copy or disclose this e-mail in any manner.
The sender of this e-mail shall not be liable for any possible damage caused by modifications of the e-mail or by delay with transfer of the email.

In case that this e-mail forms part of business dealings:
- the sender reserves the right to end negotiations about entering into a contract in any time, for any reason, and without stating any reasoning.
- if the e-mail contains an offer, the recipient is entitled to immediately accept such offer; The sender of this e-mail (offer) excludes any acceptance of the offer on the part of the recipient containing any amendment or variation.
- the sender insists on that the respective contract is concluded only upon an express mutual agreement on all its aspects.
- the sender of this e-mail informs that he/she is not authorized to enter into any contracts on behalf of the company except for cases in which he/she is expressly authorized to do so in writing, and such authorization or power of attorney is submitted to the recipient or the person represented by the recipient, or the existence of such authorization is known to the recipient of the person represented by the recipient.



More information about the R-devel mailing list