# create some data with 'sender', 'target' and a 'time'-variable
# (Note: Data used here are random events from the Correlates of War Project)
sender <- c('TUN', 'NIR', 'NIR', 'TUR', 'TUR', 'USA', 'URU',
'IRQ', 'MOR', 'BEL', 'EEC', 'USA', 'IRN', 'IRN',
'USA', 'AFG', 'ETH', 'USA', 'SAU', 'IRN', 'IRN',
'ROM', 'USA', 'USA', 'PAN', 'USA', 'USA', 'YEM',
'SYR', 'AFG', 'NAT', 'NAT', 'USA')
target <- c('BNG', 'ZAM', 'JAM', 'SAU', 'MOM', 'CHN', 'IRQ',
'AFG', 'AFG', 'EEC', 'BEL', 'ITA', 'RUS', 'UNK',
'IRN', 'RUS', 'AFG', 'ISR', 'ARB', 'USA', 'USA',
'USA', 'AFG', 'IRN', 'IRN', 'IRN', 'AFG', 'PAL',
'ARB', 'USA', 'EEC', 'BEL', 'PAK')
time <- c('800107', '800107', '800107', '800109', '800109',
'800109', '800111', '800111', '800111', '800113',
'800113', '800113', '800114', '800114', '800114',
'800116', '800116', '800116', '800119', '800119',
'800119', '800122', '800122', '800122', '800124',
'800125', '800125', '800127', '800127', '800127',
'800204', '800204', '800204')
type <- sample(c('cooperation', 'conflict'), 33,
replace = TRUE)
# combine them into a data.frame
dt <- data.frame(sender, target, time, type)
# create event sequence and order the data
dt <- eventSequence(datevar = dt$time, dateformat = '%y%m%d',
data = dt, type = 'continuous',
byTime = 'daily', returnData = TRUE,
sortData = TRUE)
# calculate sender-outdegree statistic
dt$sender.outdegree <- degreeStat(data = dt,
time = dt$time,
degreevar = dt$sender,
halflife = 2,
returnData = FALSE)
# plot sender-outdegree over time
library('ggplot2')
ggplot(dt, aes ( event.seq.cont, sender.outdegree) ) +
geom_point()+ geom_smooth()
# calculate sender-indegree statistic
dt$sender.indegree <- degreeStat(data = dt,
time = dt$time,
degreevar = dt$sender,
degree.on.other.var = dt$target,
halflife = 2,
returnData = FALSE)
# calculate target-indegree statistic
dt$target.indegree <- degreeStat(data = dt,
time = dt$time,
degreevar = dt$target,
halflife = 2,
returnData = FALSE)
# calculate target-outdegree statistic
dt$target.outdegree <- degreeStat(data = dt,
time = dt$time,
degreevar = dt$target,
degree.on.other.var = dt$sender,
halflife = 2,
returnData = FALSE)
# calculate target-indegree with typematch
dt$target.indegree.tm <- degreeStat(data = dt,
time = dt$time,
degreevar = dt$target,
halflife = 2,
eventtypevar = dt$type,
eventtypevalue = 'valuematch',
returnData = FALSE)
Run the code above in your browser using DataLab