[R] combining data structures
Pete Brecknock
Peter.Brecknock at bp.com
Sun Feb 5 05:28:37 CET 2012
David
1. The last line of the code should have been ...
Output = as.data.frame(do.call(rbind,nn))
# Output
Node Connect.up Connect.down
1 1 NULL 2, 3
2 2 1 4, 5
3 3 NULL 2, 3
4 4 1 4, 5
Apologies for any confusion
2. I am not familiar with the diagram package or the examples you describe.
Why the desire to create a data frame? Why not just use a list?
HTH
Pete
dkStevens wrote
>
> Thanks for the reply. Two things - I must have something missing because
> copying and pasting your example gave me an error
>
> ... your definitions of nn
>
> Output = do.call(as.data.frame(rbind),nn)
>
> Error in as.data.frame.default(rbind) :
> cannot coerce class '"function"' into a data.frame
>
> The second is the need, and why I'm not sure this is the best way. This
> is to customize the flow charting library code from the library
> 'diagram' to use a node-and-link characterization of a network - think
> PERT charts or perhaps linking river segments in a water quality model.
> Each Node will be a, say, circle and has attributes of being connected
> up to one or more upstream nodes and down to one or more downstream
> nodes. So the Connect.up column is a vector up upstream connections,
> usually one but sometimes > one, and likewise Connect.down. There is an
> accompanying table of links with attributes of which nodes are at each
> end of a link and other metadata that describe the link (e.g. the length
> of time required to traverse the link, its name etc. That said, my
> thought was that the situation was too simple to fire up a full-blown
> object system beyond what R provides natively. I guess it's like making
> a data frame that has some 3-d elements.
>
>
>
> On 2/3/2012 9:32 PM, Pete Brecknock wrote:
>> nn=list()
>>
>> nn[[1]] = list(Node = "1", Connect.up = c(NULL), Connect.down = c(2,3))
>> nn[[2]] = list(Node = "2", Connect.up = c(1), Connect.down = c(4,5))
>> nn[[3]] = list(Node = "3", Connect.up = c(NULL), Connect.down = c(2,3))
>> nn[[4]] = list(Node = "4", Connect.up = c(1), Connect.down = c(4,5))
>>
>> Output = do.call(as.data.frame(rbind),nn)
>
> --
> David K Stevens, P.E., Ph.D., Professor
> Civil and Environmental Engineering
> Utah Water Research Laboratory
> 8200 Old Main Hill
> Logan, UT 84322-8200
> 435 797 3229 - voice
> 435 797 1363 - fax
> david.stevens@
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@ 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.
>
--
View this message in context: http://r.789695.n4.nabble.com/combining-data-structures-tp4356288p4358435.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list