evently-profiling-users.Rmd
This vignette gives a tutorial on profiling Twitter users with their initiated diffusions via modeling methods provided by evently
. We use the dataset auspol
shipped with evently
in this task. It is a list of data frames (3333 in total) where each data frame represents a diffusion cascade. For each cascade, three fields are presented: time
is the retweeting time relative to the original tweet (i.e., the first event); user
is the corresponding Twitter user of the event; magnitude
is the number of followers the Twitter user has.
head(auspol, n = 3)
#> [[1]]
#> magnitude time user
#> 1 58 0 2984
#>
#> [[2]]
#> magnitude time user
#> 1 298956 0 630
#> 2 10414 1124 1901
#> 3 3099 1329 3566
#> 4 1947 5822 490
#>
#> [[3]]
#> magnitude time user
#> 1 1627 0 2692
names(auspol) <- sapply(auspol, function(data) data$user[[1]])
auspol_group_fits_by_user <- group_fit_series(data = auspol, model_type = 'mPL', observation_times = Inf, cores = 10)
head(auspol_group_fits_by_user, n = 3)
# keep only users with more than 5 cascades
auspol_group_fits_by_user <- Filter(function(x) length(x) >= 5, auspol_group_fits_by_user)
dist_matrix <- fits_dist_matrix(auspol_group_fits_by_user)
positions <- tsne(dist_matrix, k = 2)
ggplot(as.data.frame(positions), aes(V1, V2)) +
geom_point() +
theme_void()