# NetworkInference: Quick Start Guide

#### Fridolin Linder

#### 2019-02-27

# Introduction

This package provides an R implementation of the netinf algorithm created by @gomez2010inferring (see here for more information and the original C++ implementation). Given a set of events that spread between a set of nodes the algorithm infers the most likely stable diffusion network that is underlying the diffusion process.

# Installation

The package can be installed from CRAN:

    install.packages("NetworkInference")

The latest development version can be installed from github:

    #install.packages(devtools)
    devtools::install_github('desmarais-lab/NetworkInference')

# Quick start guide

To get started, get your data into the `cascades` format required by the `netinf` function:

    library(NetworkInference)

    # Simulate random cascade data
    df <- simulate_rnd_cascades(50, n_node = 20)

    # Cast data into `cascades` object
    ## From long format
    cascades <- as_cascade_long(df)

    ## From wide format
    df_matrix <- as.matrix(cascades) ### Create example matrix
    cascades <- as_cascade_wide(df_matrix)

Then fit the model:

    result <- netinf(cascades, quiet = TRUE, p_value_cutoff = 0.05)

    head(result)

origin_node | destination_node | improvement | p_value
--- | --- | --- | ---
12 | 3 | 310.1 | 2.693e-06
8 | 12 | 264.4 | 1.99e-05
15 | 13 | 246.4 | 4.715e-05
3 | 6 | 231.4 | 0.0001109
19 | 8 | 230.3 | 0.0001127
17 | 11 | 224.9 | 0.0001122