Hi, thanks, using test <<- readRDS (name) it worked. But why? Best Sigbert Am 24.02.2016 um 10:39 schrieb Michael Dewey:> Try calling it something other than data. > > On 24/02/2016 09:26, Sigbert Klinke wrote: >> Hi, >> >> I have two scripts, one creates a data structure (a list of data frames >> + some attributes) and saves it via saveRDS. >> >> The second script reads the RDS file (outside of any function) and >> >> data <- readRDS (name) >> >> works, but >> >> data <<- readRDS (name) >> >> creates the error >> >> Error: cannot change value of locked binding for 'data' >> >> Any idea what goes wrong? >> >> Thanks Sigbert >> >-- http://u.hu-berlin.de/sk
?data will show you that data is a reserved word!> On 24 Feb 2016, at 11:02, Sigbert Klinke <sigbert at wiwi.hu-berlin.de> wrote: > > Hi, > > thanks, using > > test <<- readRDS (name) > > it worked. But why? > > Best Sigbert > > Am 24.02.2016 um 10:39 schrieb Michael Dewey: >> Try calling it something other than data. >> >> On 24/02/2016 09:26, Sigbert Klinke wrote: >>> Hi, >>> >>> I have two scripts, one creates a data structure (a list of data frames >>> + some attributes) and saves it via saveRDS. >>> >>> The second script reads the RDS file (outside of any function) and >>> >>> data <- readRDS (name) >>> >>> works, but >>> >>> data <<- readRDS (name) >>> >>> creates the error >>> >>> Error: cannot change value of locked binding for 'data' >>> >>> Any idea what goes wrong? >>> >>> Thanks Sigbert >>> >> > > > -- > http://u.hu-berlin.de/sk <http://u.hu-berlin.de/sk> > ______________________________________________ > R-help at r-project.org <mailto:R-help at r-project.org> mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help <https://stat.ethz.ch/mailman/listinfo/r-help> > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html <http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code.-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 670 bytes Desc: Message signed with OpenPGP using GPGMail URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20160224/de74f9b5/attachment.bin>
You need to do
help("<-")
for a full explanation but in brief when you do <- it assigns locally
and since it could not find data locally it makes it for you but when
you do <<- it tries its very best to find data somewhere. Since data is
the name of a function which the authors of R have locked it fails.
On 24/02/2016 10:02, Sigbert Klinke wrote:> Hi,
>
> thanks, using
>
> test <<- readRDS (name)
>
> it worked. But why?
>
> Best Sigbert
>
> Am 24.02.2016 um 10:39 schrieb Michael Dewey:
>> Try calling it something other than data.
>>
>> On 24/02/2016 09:26, Sigbert Klinke wrote:
>>> Hi,
>>>
>>> I have two scripts, one creates a data structure (a list of data
frames
>>> + some attributes) and saves it via saveRDS.
>>>
>>> The second script reads the RDS file (outside of any function) and
>>>
>>> data <- readRDS (name)
>>>
>>> works, but
>>>
>>> data <<- readRDS (name)
>>>
>>> creates the error
>>>
>>> Error: cannot change value of locked binding for 'data'
>>>
>>> Any idea what goes wrong?
>>>
>>> Thanks Sigbert
>>>
>>
>
>
--
Michael
http://www.dewey.myzen.co.uk/home.html
On 25/02/16 00:11, Erich Neuwirth wrote:> ?data > will show you that data is a reserved word!That is simply not true. There is no mention in help for data of "data" being a reserved word. Moreover, if "data" *were* a reserved word " <- " wouldn't work either. Compare: data <- 42 # No problema. and TRUE <- 42 # Throws an error; "TRUE" really *is* a reserved word. The real explanation is more subtle; it involves "locking" and the rather intricate behaviour of "<<-", which I do no claim to understand. The best advice is: DON'T USE "<<-" !!! See fortune("dumb down"). cheers, Rolf Turner -- Technical Editor ANZJS Department of Statistics University of Auckland Phone: +64-9-373-7599 ext. 88276