[Rd] strange behaviour read.table and clipboard

Martin Maechler maechler at stat.math.ethz.ch
Wed Aug 16 09:41:14 CEST 2017


>>>>> 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



More information about the R-devel mailing list