[Rd] strange behaviour read.table and clipboard

PIKAL Petr petr.pikal at precheza.cz
Wed Aug 16 12:49:35 CEST 2017


Hi

> -----Original Message-----
> From: Martin Maechler [mailto:maechler at stat.math.ethz.ch]
> Sent: Wednesday, August 16, 2017 12:01 PM
> To: PIKAL Petr <petr.pikal at precheza.cz>
> Cc: Martin Maechler <maechler at stat.math.ethz.ch>; Duncan Murdoch
> <murdoch.duncan at gmail.com>
> Subject: RE: [Rd] strange behaviour read.table and clipboard
>
> (not to R-devel)
>
> More questions, please answer to R-devel:
>
> - Does it show the problem only with such a long column?
> [- if yes, is really 2846 the minimal number which shows the problem? ]
>
There is certain minimal number of rows/items after which this feature/bug appears.

For 2 columns it appears after 525 rows in case of whole numbers, but in case fractional numbers it appears after 235 rows.

> - Can you make a minimally small *.xls file available on the
>   web, so that other R Windows users can try?

https://drive.google.com/open?id=0B-hUB8Dm7X_VaWhtdDFoaVMxWWc

Cheers
Petr

>
> - In addition to  diff(which(ll == "a1"))
>
>      table(ll)
>
>   maybe a bit more revealing
>
>   ((and 'll' was a bad variable name I've chosen;
>        'l' ("ell") is too easily confused with '1' ("one")))
>
> Thank you, Petr,
> Martin
>
>
> >>>>> PIKAL Petr <petr.pikal at precheza.cz>
> >>>>>     on Wed, 16 Aug 2017 08:37:22 +0000 writes:
>
>     > 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.

________________________________
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