Abstract

Effective memory structures for relational data within R must be capable of representing a wide range of data while keeping overhead to a minimum. The network package provides an class which may be used for encoding complex relational structures composed a vertex set together with any combination of undirected/directed, valued/unvalued, dyadic/hyper, and single/multiple edges; storage requirements are on the order of the number of edges involved. Some simple constructor, interface, and visualization functions are provided, as well as a set of operators to facilitate employment by end users. The package also supports a C-language API, which allows developers to work directly with network objects within backend code.

Highlights

  • In early 2002, the author and several other members of what would become the statnet project (Handcock, et al 2003) came to the conclusion that the simple, matrix-based approach to representation of relational data utilized by early versions of packages such as sna were inadequate for the generation of relational analysis tools in R

  • What was required was a customized class structure to support relational data. This class structure would be used for all statnet packages, insuring interoperability; ideally, it would be possible to port this structure to other languages, thereby further enhancing compatibility

  • The requirements which were posed for a network data class were as follows, in descending order of priority: 1. The class had to be sufficiently general to encode all major types of network data collected presently or in the foreseeable future; 2

Read more

Summary

Background and introduction

In early 2002, the author and several other members of what would become the statnet project (Handcock, et al 2003) came to the conclusion that the simple, matrix-based approach to representation of relational data utilized by early versions of packages such as sna were inadequate for the generation of relational analysis tools in R. What was required was a customized class structure to support relational data. This class structure would be used for all statnet packages, insuring interoperability; ideally, it would be possible to port this structure to other languages, thereby further enhancing compatibility. The requirements which were posed for a network data class were as follows, in descending order of priority: 1. The class had to be sufficiently general to encode all major types of network data collected presently or in the foreseeable future; 2. Class storage needed to be of sufficient efficiency to permit representation of large networks (in particular, storage which was sub-quadratic in graph order for sparse networks); and network: Managing Relational Data in R. We describe the result of one particular effort, the network package (Butts, et al 2007) for the R system for statistical computing (R Development Core Team 2007)

Historical note
A very quick note on notation
The network class
Identification of vertices and edges
Basic class structure
Using the network class
Importing data
Creating and viewing network objects
Coercing network objects to other forms
Creating and modifying edges and vertices
Working with attributes
Visualizing network objects
C-language API
Using the network API
Final comments
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call