# Difference between revisions of "Social Network Analysis With Igraph Package Using R"

Line 36: | Line 36: | ||

== Macroscopic Analysis == | == Macroscopic Analysis == | ||

− | graph size (number of nodes): length(V(g)) | + | '''graph size''' (number of nodes): length(V(g)) |

− | number of edges: length(E(g)) | + | '''number of edges''': length(E(g)) |

− | diameter: diameter(g) | + | '''diameter''': diameter(g) |

− | mean degree: | + | '''mean degree''': |

− | density: | + | '''density''': |

− | giant component size (the largest connected component size): | + | '''giant component size''' (the largest connected component size): |

assortativity: | assortativity: | ||

Line 52: | Line 52: | ||

== Node Centrality Analysis == | == Node Centrality Analysis == | ||

− | degree: degree(g) | + | '''degree''': degree(g) |

− | closeness: closeness(g) | + | '''closeness''': closeness(g) |

− | betweenness: betweenness(g) | + | '''betweenness''': betweenness(g) |

− | eigenvector/pagerank: evcent(g) | + | '''eigenvector'''/'''pagerank''': evcent(g) |

== Clustering Techniques == | == Clustering Techniques == | ||

− | connected components: clusters(g) | + | '''connected components''': clusters(g) |

− | edge betweenness: | + | '''edge betweenness''': |

− | walktrap: | + | '''walktrap''': |

− | spinglass: | + | '''spinglass''': |

== References and further informations == | == References and further informations == |

## Revision as of 16:00, 20 June 2010

## Contents

## Install the package under R environmemnt

under Ubuntu install the R package:

`sudo apt-get install r-base-core`

type R to start the program:

`R`

type the command to download and install igraph as R library:

`install.packages("igraph")`

## Starting with the package

don't forget to load the library:

`library('igraph')`

parse a network file in Pajek format and access to its memory representation through the variable 'g':

`g <- read.graph(file='/your/path/.../file.net', format='pajek')`

list vertex and their attributes of graph g:

```
V(g) # the list of all nodes
V(g)[0] # access the first node
list.vertex.attributes(g) # the list of all vertex attributes names
V(g)[0]$id # access the attribute 'id' for the first node
```

list edges/arcs and their attributes of graph g:
```
```

```
```

```
E(g) # the list of all edges/arcs
E(g)[0] # access the first edge/arc
list.edge.attributes(g) # the list of all edges/arcs attributes names
E(g)[0]$weight # access the attribute 'weight' for the first node
```

draw the graph:
```
```

```
```plot(g)
tkplot(g)

```
```

## Macroscopic Analysis

**graph size** (number of nodes): length(V(g))

**number of edges**: length(E(g))

**diameter**: diameter(g)

**mean degree**:

**density**:

**giant component size** (the largest connected component size):

assortativity:

## Node Centrality Analysis

**degree**: degree(g)

**closeness**: closeness(g)

**betweenness**: betweenness(g)

**eigenvector**/**pagerank**: evcent(g)

## Clustering Techniques

**connected components**: clusters(g)

**edge betweenness**:

**walktrap**:

**spinglass**:

## References and further informations

Igraph/R documentation: http://igraph.sourceforge.net/doc/R/00Index.html