Re: [R] sibling list element reference during list definition

2005-11-12 Thread Adaikalavan Ramasamy
It would be more interesting to ask why does this does not work.

   mylist - list( value=5, plusplus = mylist$value + 1 )

I think this is because plusplus cannot be evaluated because mylist does
not exist and mylist cannot be created until plusplus is evaluated.

There are people on this list who can explain in more technical terms.
But I think reading this page might help
http://cran.r-project.org/doc/manuals/R-lang.html#index-evaluation_002c-symbol-166


Here is one option :

 mylist - eval( expression( list( value=x, plusplus=x+1) ), list(x=5) )
 mylist
 $value
 [1] 5
 $plusplus
 [1] 6


Or a bit easier to read is :

 myfun  - function(x) list( value=x, plusplus=x+1 )
 mylist - myfun(5)


Regards, Adai


On Sat, 2005-11-12 at 01:03 -0600, Paul Roebuck wrote:
 Can the value of a list element be referenced from a
 sibling list element during list creation without the use
 of a temporary variable?
 
 The following doesn't work but it's the general idea.
 
  list(value = 2, plusplus = $value+1)
 
 such that the following would be the output from str()
 
 List of 2
  $ value   : num 2
  $ plusplus: num 3
 
 --
 SIGSIG -- signature too long (core dumped)
 
 __
 R-help@stat.math.ethz.ch mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


__
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


Re: [R] sibling list element reference during list definition

2005-11-12 Thread Gabor Grothendieck
You can do this:

   L - list(value = 2)
   L$plusplus - L$value + 1

or use the proto package which does support this sort of
manipulation:

   library(proto)
   as.list(proto(,{value = 2; plusplus = value+1}))

That creates a proto object with the indicated two components
and then converts it to a list.

On 11/12/05, Paul Roebuck [EMAIL PROTECTED] wrote:
 Can the value of a list element be referenced from a
 sibling list element during list creation without the use
 of a temporary variable?

 The following doesn't work but it's the general idea.

  list(value = 2, plusplus = $value+1)

 such that the following would be the output from str()

 List of 2
  $ value   : num 2
  $ plusplus: num 3

 --
 SIGSIG -- signature too long (core dumped)

 __
 R-help@stat.math.ethz.ch mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


__
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


[R] sibling list element reference during list definition

2005-11-11 Thread Paul Roebuck
Can the value of a list element be referenced from a
sibling list element during list creation without the use
of a temporary variable?

The following doesn't work but it's the general idea.

 list(value = 2, plusplus = $value+1)

such that the following would be the output from str()

List of 2
 $ value   : num 2
 $ plusplus: num 3

--
SIGSIG -- signature too long (core dumped)

__
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html