I have a large network for which I'm using iGraph in R to handle. However, I would like to take some small random samples of that network, and calculate for example the standard deviation of parallel edges weights, to see how much do they actually vary.
When looking at the data on a table format, it looks like this:
Origin Destination Weight
A B 30
A B 19
A C 1
B D 15
B D 40
Surely this is just a small example, but I wonder how could I do it using either iGraph or any other packages in R. I've been searching already for a while but I'm not sure how to. I assume that I would need either Bootstrapping or Monte Carlo methods for this, but code wise there isn't much info floating around.
EDIT:
The idea behind what I want to do is well explained here:
observed data are resampled to create new datasets that match the size of the original data, while allowing the same observations to be drawn multiple times. This creates slightly different datasets each time, but always based on the same original observations. Repeating this process hundreds of times and re-calculating a given statistic for each new dataset generates a distribution of possible values. Lusseau et al. [9] suggested that this approach could be incorporated into social network analysis. In the case of networks, the observation data from which the observed network was generated is bootstrapped (observations are resampled, rather than resampling nodes) and a new network is generated for each dataset by re-calculating all the edge weights in exactly the same way. The statistic of interest in the observed network is re-calculated each time and recorded. The 95% confidence interval can then be inferred by extracting the 2.5% and 97.5% quantiles of the recorded values.
(Estimating uncertainty and reliability of social network data using Bayesian inference - R. Farine et al.)
R
. If you want to see how properties of your network vary, then you need to study the network itself rather than sample from it or simulate something. $\endgroup$