IrishDirectoratesData {IrishDirectorates}R Documentation

Board Composition For Companies Quoted On The Irish Stock Exchange From 2003 To 2013

Description

Board composition for companies quoted on Irish Stock Exchange from 2003 to 2013. Board compositions are only observed at the end of each year.

Usage

data("IrishDirectoratesData")

Format

IrishDirectoratesData is a list containing:

edgelist

the edgelist for a bipartite dynamic network. Each row of this dataframe corresponds to an undirected edge in the network. For each row, the first entry identifies the time frame where the edge occurs, the second entry represents the director, whereas the third identifies the company. The presence of an edge at a certain time frame between a director and a company means that the director was part of the company's board at the end of the corresponding year.

years

lookup table for the time frame labels.

directors_names

lookup table for directors' names.

companies_names

lookup table for companies' names.

Details

The adjacency cube can be constructed from the edgelist. Please see example for sample code.

Source

Irish Stock Exchange (http://www.ise.ie/).

References

Friel, N., Rastelli, R., Wyse, J. and Raftery, A.E. (2016) <DOI:10.1073/pnas.1606295113>.

Examples

data(IrishDirectoratesData)
attach(IrishDirectoratesData)

N <- length(directors_names)
M <- length(companies_names)
tframes <- length(years)

# construct the binary adjacency cube
adj <- array(0,c(N,M,tframes))
for (l in 1:nrow(edgelist)) adj[edgelist[l,2],edgelist[l,3],edgelist[l,1]] = 1
dimnames(adj) = list(directors_names, companies_names, years)

# calculate the degrees of directors and boards
out_degrees <- apply(adj,c(1,3),sum)
in_degrees <- apply(adj,c(2,3),sum)

# create a binary matrix with ones corresponding to interlocked directors
interlocked_directors <- ifelse(out_degrees > 1, 1, 0)

# create a binary matrix with ones corresponding to interlocking companies
interlocking_companies <- matrix(0,M,tframes)
for (t in 1:tframes) for (i in 1:N) for (j in 1:M) if (adj[i,j,t] == 1) {
  if (interlocked_directors[i,t] > 0) interlocking_companies[j,t] = 1
}

# extract labels of interlocking companies
selected_companies <- which(rowSums(interlocking_companies) > 0)

# extract labels of remaining active directors
new_out_degrees <- apply(adj[,selected_companies,], c(1,3), sum)
selected_directors <- which(rowSums(new_out_degrees) > 0)

# create the new adjacency cube for the reduced data, as shown in the referenced paper
adj_reduced <- adj[selected_directors, selected_companies, ]

[Package IrishDirectorates version 1.4 Index]