If you only need degree distributions, you most likely do not need a graphics package. I recommend the bigtablulate package to
- your R objects are stored in a file so that you are not limited by RAM
- ,
foreach
-. , edgelist 1 1 .
set.seed(1)
N <- 1e6
M <- 1e6
edgelist <- cbind(sample(1:N,M,replace=TRUE),
sample(1:N,M,replace=TRUE))
colnames(edgelist) <- c("sender","receiver")
write.table(edgelist,file="edgelist-small.csv",sep=",",
row.names=FALSE,col.names=FALSE)
10 , .
system("
for i in $(seq 1 10)
do
cat edgelist-small.csv >> edgelist.csv
done")
bigtabulate edgelist. read.big.matrix() R.
library(bigtabulate)
x <- read.big.matrix("edgelist.csv", header = FALSE,
type = "integer",sep = ",",
backingfile = "edgelist.bin",
descriptor = "edgelist.desc")
nrow(x)
, bigtable() .
outdegree <- bigtable(x,1)
head(outdegree)
, , :
j <- as.numeric(names(outdegree[1]))
all.equal(as.numeric(outdegree[1]),
sum(x[,1]==j))
, bigtable(x,2).