[R] plot.hclust point to older version

Jeff Newmiller jdnewmil at dcn.davis.CA.us
Wed Nov 26 20:09:05 CET 2014


Short answer to your question is "R files" and original data from external sources.

I tend to keep my projects in separate directories. I make a core R file that I can run from beginning to end using source() to generate my primary analysis objects. I then make another file to keep my source() function call in, as well as a few exploratory plot commands. Recently I have been also sourcing the analysis script in Rmd or Rnw files to "knit" my observations with the output.

Some people complain that their analysis takes too long to be sourcing it all the time. When I have that problem I set up a variable outside my analysis script that I test in my analysis script. If the variable indicates it is time to recalculate, then I do all of that and then save the data in sn rds or rda file. If the variable indicates that I should reuse the cached data, then it skips the calculations and just loads the data. This way I always load the right libraries along with the data, and I don't accidentally save data that I changed outside the analysis script... keeping my results reproducible. (Rds files can be convenient if I have several different slow analyses to compare and I want to only work on one at a time. I set up one control variable for each analysis.)

Some people (smarter than me?) like to build their analysis into an Sweave or knitr file. They can then strip out an analysis R file to use the way I have described if they choose to do so ("literate programming") but I have not picked up that habit yet.

The key is keeping a record of how every object that is in your save file was originally created. If you tolerate auto saving and loading of the environment then you lose that record, and pernicious errors can creep into your environment from who knows where, and you might as well be using Excel if that is how you work. (Note that this means I hardly ever copy data straight from Excel via the clipboard as that is not reproducible. Usually this means Save As CSV in Excel to start my R analysis if that is the data source.)
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.

On November 26, 2014 2:05:54 AM PST, PIKAL Petr <petr.pikal at precheza.cz> wrote:
>Hi
>
>You say
>
>> in other words, experienced R users do not let their workspace be
>saved
>> automatically (to '.RData') and hence do not load any .RData
>> automatically at startup.
>
>I save/load .RData for years without any issues (except of not
>installed packages when working on different PCs).I usually keep each
>project in separated .RData (and separated folder, together with all
>stuff belonging to that project), which prevent to mess things
>together.
>
>There is no such warning as "do not use .RData" in books I have
>available.
>
>I wonder how experienced useR keep track of several projects without
>using startup loading .RData?
>What would you recommend for keeping track of commands and created
>objects instead of .RData?
>
>Petr
>
>
>> -----Original Message-----
>> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of
>Martin
>> Maechler
>> Sent: Wednesday, November 26, 2014 10:03 AM
>> To: Michael Mason
>> Cc: R help
>> Subject: Re: [R] plot.hclust point to older version
>>
>>
>> > Thanks! That worked
>>
>> Of course: As in about 99.99% of all cases where Bill Dunlap  helps.
>>
>>
>> > You probably have a local copy of an old version of plot.hclust or
>> plot.dendrogram in your global environmenet or another package that
>> masks the one in package:stats.  E.g., I fired up R-2.14.2 and copied
>> those 2 plot methods to .GlobalEnv and then saved by workspace when
>> quitting R.  I then fired up R-3.1.1, which loads the workspace saved
>> by the older version of R.  I get:
>>
>> > > objects()
>> > [1] "plot.dendrogram" "plot.hclust"
>> > > plot(hclust(dist(c(2,3,5,7,11,13,17,19))))
>> > Error in .Internal(dend.window(n, merge, height, hang, labels,
>...))
>> :
>> >   there is no .Internal function 'dend.window'
>> > > traceback()
>> > 2: plot.hclust(hclust(dist(c(2, 3, 5, 7, 11, 13, 17, 19))))
>> > 1: plot(hclust(dist(c(2, 3, 5, 7, 11, 13, 17, 19))))
>>
>> > Note how calling traceback() after an error gives more information
>> about the source of the error.
>>
>> > To fix this, get rid of the .RData file that is being loaded when R
>> starts.
>>
>> In the spirit of the old -- now politically incorrect -- sayings  ``
>> Real men don't ..... '''
>> I'd like to emphasize my own view that
>>  "Real useRs don't use .RData"
>>
>> in other words, experienced R users do not let their workspace be
>saved
>> automatically (to '.RData') and hence do not load any .RData
>> automatically at startup.
>>
>> Consequently, use R with the '--no-save' command line argument (maybe
>> also with '--no-restore').
>>
>> ESS (Emacs Speaks Statistics) users can put
>>
>> (custom-set-variables
>>  '(inferior-R-args "--no-restore-history --no-save ")
>> )
>>
>> into their ~/.emacs
>> {and I'd like to see a way to do this easily with RStudio...}
>>
>> Martin Maechler,
>> ETH Zurich and R Core Team
>>
>> > Bill Dunlap
>> > TIBCO Software
>> > wdunlap tibco.com<http://tibco.com>
>>
>> > On Tue, Nov 25, 2014 at 12:18 PM, Rolf Turner
>> <r.turner at auckland.ac.nz<mailto:r.turner at auckland.ac.nz>> wrote:
>> > On 26/11/14 08:53, Michael Mason wrote:
>> > Here you are. I expect most folks won't get the error.
>>
>> > N   = 100; M = 1000
>> > mat = matrix(1:(N*M) + rnorm(N*M,0,.5),N,M)
>> > h   = hclust(as.dist(1-cor(mat)))
>> > plot(h)
>>
>> > Error in .Internal(dend.window(n, merge, height2, hang, labels,
>...))
>> :
>> >    there is no .Internal function 'dend.window'
>>
>>
>>
>> > Thanks again
>>
>>
>> > On 11/25/14 11:29 AM, "Rolf Turner"
>> <r.turner at auckland.ac.nz<mailto:r.turner at auckland.ac.nz>> wrote:
>>
>>
>>
>> > Reproducible example???
>>
>> > (I know from noddink about hclust, but I tried the example from the
>> > help page and it plotted without any problem.)
>>
>> > cheers,
>>
>> > Rolf Turner
>>
>> > On 26/11/14 06:13, Michael Mason wrote:
>> > Hello fellow R users,
>>
>> > I have recently updated to R 3.1.2. When trying to plot an hclust
>> > object to generate the dendrogram I get the following error:
>>
>> > Error in .Internal(dend.window(n, merge, height2, hang, labels,
>...))
>> :
>> >     there is no .Internal function 'dend.window'
>>
>>
>> > I am indeed using R3.1.2 but my understanding is that the .Internal
>> > API to the C code is no longer used. I have tried detaching the
>stats
>> > package and restarting R to no avail.
>> > I would love any help from any wiser guRus.
>>
>> > Please keep communications on-list; there are others on the list
>far
>> more likely to be able to help you than I.  I am cc-ing this reply to
>> the list.
>>
>> > For what it's worth, I can run your example without error.
>>
>> > As to how to track down what is going wrong on your system, I'm
>> afraid I have no idea.  Someone on the list may have some thoughts.
>>
>> > cheers,
>>
>> > Rolf Turner
>>
>> > --
>> > Rolf Turner
>> > Technical Editor ANZJS
>>
>> > ______________________________________________
>> > R-help at r-project.org<mailto: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.
>>
>> > ________________________________
>> > --CONFIDENTIALITY NOTICE--: The information contained in this email
>> is
>> > intended for the exclusive use of the addressee and may contain
>> > confidential information. If you are not the intended recipient,
>you
>> > are hereby notified that any form of dissemination of this
>> > communication is strictly prohibited. www.benaroyaresearch.org
>>
>> >     [[alternative HTML version deleted]]
>>
>> > ______________________________________________
>> > 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.
>
>________________________________
>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-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