Related
So I noticed that the default layout in igraph sometimes behave weird when there's only one component of the graph, specifically vertices form a cluster that overlap. Consider the following matrix:
mat <- structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0), .Dim = c(65L, 65L), .Dimnames = list(
NULL, NULL))
g <- graph_from_adjacency_matrix(mat)
plot(g)
Compared to when I add vertex 29 to the main component
mat[29, 44] <- 1
g <- graph_from_adjacency_matrix(mat)
plot(g)
In which case I get the following figure which is much uglier.
Of course, I can work around this by adding an invisible vertex or by creating my own layout but I would like to know why this happens or what is an appropriate layout, similar to the default layout, in the igraph package that doesn't cause the vertices to overlap when I remove the singleton component.
You can try
plot(add_edges(g, c("29", "44")), layout = layout_nicely(g))
I have a list of lists of matrices as shown below, I have posted the code that got me closest to my desired format and some reproducible data.
Here is picture showing the format of my data:
I would like it to be in a dataframe format, similar to that shown below:
V1 V2
1 2
1 2
1 2
1 2
1 2
1 2
The closest I got was with this code:
dt_list <- purrr::map(a, data.table::as.data.table)
dt <- data.table::rbindlist(dt_list, fill = TRUE)
But instead of putting the second list into a second row, this code adds it on to the bottom of the column.
Reproducible data:
data <- list(list(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), list(c(2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0)))
You can try unlist with option recursive = FALSE, e.g.,
list2DF(unlist(data, recursive = FALSE))
or use data.frame (thank #akrun's comment)
setNames(data.frame(data), paste0("V", seq_along(data)))
I think purrr::map_dfc(data, as.data.frame) may solve your problem.
I'm getting error Error in xy.coords(x, y) : 'x' and 'y' lengths differ
when plotting xts object RETURNS. The plotting function used is charts.PerformanceSummary, from the package PerformanceAnalytics.
Would anyone know how to fix this? It plots regardless of the error, but the presence of an error makes conversion to HTML with knitr package fail. Interestingly running the same plotting function on a similar xts object works fine. I'm baffled.
library(PerformanceAnalytics)
# THIS PROVIDES THE ERROR:
RETURNS <- structure(c(NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0176761850129417, -0.00459544547441126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), class = c("xts", "zoo"), index = structure(c(1388448000, 1403474400, 1403475300, 1403476200, 1403477100, 1403478000, 1403478900, 1403479800, 1403480700, 1403481600, 1403482500, 1403483400, 1403484300, 1403485200, 1403486100, 1403487000, 1403487900, 1403488800, 1403489700, 1403490600, 1403491500, 1403492400, 1403493300, 1403494200, 1403495100, 1403496000, 1403496900, 1403497800, 1403498700, 1403499600, 1403500500, 1403501400, 1403502300, 1403503200, 1403504100, 1403505000, 1403505900, 1403506800, 1403507700, 1403508600, 1403509500, 1403510400, 1403511300, 1403512200, 1403513100, 1403514000, 1403514900, 1403515800, 1403516700, 1403517600, 1403518500, 1403519400, 1403520300, 1403521200, 1403522100, 1403523000, 1403523900, 1403524800, 1403525700, 1403526600, 1403527500,
1403528400, 1403529300, 1403530200, 1403531100, 1403532000, 1403532900, 1403533800, 1403534700, 1403535600, 1403536500, 1403537400, 1403538300, 1403539200, 1403540100, 1403541000, 1403541900, 1403542800, 1403543700, 1403544600, 1403545500, 1403546400, 1403547300, 1403548200, 1403549100, 1403550000, 1403550900, 1403551800, 1403552700, 1403553600, 1403554500, 1403555400, 1403556300, 1403557200, 1403560800, 1403561700, 1403562600, 1403563500, 1403564400, 1403565300, 1403566200, 1403567100, 1403568000, 1403568900, 1403569800, 1403570700, 1403571600, 1403572500, 1403573400, 1403574300, 1403575200, 1403576100, 1403577000, 1403577900, 1403578800, 1403579700, 1403580600, 1403581500, 1403582400, 1403583300, 1403584200, 1403585100, 1403586000, 1403586900, 1403587800, 1403588700, 1403589600, 1403590500, 1403591400, 1403592300, 1403593200, 1403594100, 1403595000, 1403595900, 1403596800, 1403597700, 1403598600, 1403599500, 1403600400, 1403601300, 1403602200, 1403603100, 1403604000, 1403604900, 1403605800, 1403606700, 1403607600, 1403608500, 1403609400, 1403610300, 1403611200, 1403612100, 1403613000, 1403613900, 1403614800, 1403615700, 1403616600, 1403617500, 1403618400, 1403619300, 1403620200, 1403621100, 1403622000, 1403622900, 1403623800, 1403624700, 1403625600, 1403626500, 1403627400, 1403628300, 1403629200, 1403630100, 1403631000, 1403631900, 1403632800, 1403633700, 1403634600, 1403635500, 1403636400, 1403637300, 1403638200, 1403639100, 1403640000, 1403640900, 1403641800, 1403642700, 1403643600, 1403647200, 1403648100, 1403649000, 1403649900, 1403650800, 1403651700, 1403652600, 1403653500, 1403654400, 1403655300, 1403656200, 1403657100, 1403658000, 1403658900, 1403659800, 1403660700, 1403661600, 1403662500, 1403663400, 1403664300, 1403665200, 1403666100, 1403667000, 1403667900, 1403668800, 1403669700, 1403670600, 1403671500, 1403672400, 1403673300, 1403674200, 1403675100, 1403676000, 1403676900, 1403677800, 1403678700, 1403679600, 1403680500, 1403681400, 1403682300, 1403683200, 1403684100, 1403685000, 1403685900, 1403686800, 1403687700, 1403688600, 1403689500, 1403690400, 1403691300, 1403692200, 1403693100, 1403694000, 1403694900, 1403695800, 1403696700, 1403697600, 1403698500, 1403699400, 1403700300, 1403701200, 1403702100, 1403703000, 1403703900, 1403704800, 1403705700, 1403706600, 1403707500, 1403708400, 1403709300, 1403710200, 1403711100, 1403712000, 1403712900, 1403713800, 1403714700, 1403715600, 1403716500, 1403717400, 1403718300, 1403719200, 1403720100, 1403721000, 1403721900, 1403722800, 1403723700, 1403724600, 1403725500, 1403726400, 1403727300, 1403728200, 1403729100, 1403730000, 1403733600, 1403734500, 1403735400, 1403736300, 1403737200, 1403738100, 1403739000, 1403739900, 1403740800, 1403741700, 1403742600, 1403743500, 1403744400, 1403745300, 1403746200, 1403747100, 1403748000, 1403748900, 1403749800, 1403750700, 1403751600, 1403752500, 1403753400, 1403754300, 1403755200, 1403756100, 1403757000, 1403757900, 1403758800, 1403759700, 1403760600, 1403761500, 1403762400, 1403763300, 1403764200, 1403765100, 1403766000, 1403766900, 1403767800, 1403768700, 1403769600, 1403770500, 1403771400, 1403772300, 1403773200, 1403774100, 1403775000, 1403775900, 1403776800, 1403777700, 1403778600, 1403779500, 1403780400, 1403781300, 1403782200, 1403783100, 1403784000,
1403784900, 1403785800, 1403786700, 1403787600, 1403788500, 1403789400, 1403790300, 1403791200, 1403792100, 1403793000, 1403793900, 1403794800, 1403795700, 1403796600, 1403797500, 1403798400, 1403799300, 1403800200, 1403801100, 1403802000, 1403802900, 1403803800, 1403804700, 1403805600, 1403806500, 1403807400, 1403808300, 1403809200, 1403810100, 1403811000, 1403811900, 1403812800, 1403813700, 1403814600, 1403815500, 1403816400, 1403820000, 1403820900, 1403821800, 1403822700, 1403823600, 1403824500, 1403825400, 1403826300, 1403827200, 1403828100, 1403829000, 1403829900, 1403830800, 1403831700, 1403832600, 1403833500, 1403834400, 1403835300, 1403836200, 1403837100, 1403838000, 1403838900, 1403839800, 1403840700, 1403841600, 1403842500, 1403843400, 1403844300, 1403845200, 1403846100, 1403847000, 1403847900, 1403848800, 1403849700, 1403850600, 1403851500, 1403852400, 1403853300, 1403854200, 1403855100, 1403856000, 1403856900, 1403857800, 1403858700, 1403859600, 1403860500, 1403861400, 1403862300, 1403863200, 1403864100, 1403865000, 1403865900, 1403866800, 1403867700,
1403868600, 1403869500, 1403870400, 1403871300, 1403872200, 1403873100, 1403874000, 1403874900, 1403875800, 1403876700, 1403877600, 1403878500, 1403879400, 1403880300, 1403881200, 1403882100, 1403883000, 1403883900, 1403884800, 1403885700, 1403886600, 1403887500, 1403888400, 1403889300, 1403890200, 1403891100, 1403892000, 1403892900, 1403893800, 1403894700, 1403895600, 1403896500, 1403897400, 1403898300, 1403899200, 1403900100, 1403901000, 1403901900, 1403902800, 1404079200, 1404080100, 1404081000, 1404081900, 1404082800, 1404083700, 1404084600, 1404085500, 1404086400, 1404087300, 1404088200, 1404089100, 1404090000, 1404090900, 1404091800, 1404092700, 1404093600, 1404094500, 1404095400, 1404096300, 1404097200, 1404098100, 1404099000, 1404099900, 1404100800, 1404101700, 1404102600, 1404103500, 1404104400, 1404105300, 1404106200, 1404107100, 1404108000, 1404108900, 1404109800, 1404110700, 1404111600, 1404112500, 1404113400, 1404114300, 1404115200, 1404116100, 1404117000, 1404117900, 1404118800, 1404119700, 1404120600, 1404121500, 1404122400, 1404123300, 1404124200, 1404125100, 1404126000, 1404126900, 1404127800, 1404128700, 1404129600, 1404130500, 1404131400, 1404132300, 1404133200, 1404134100, 1404135000, 1404135900, 1404136800, 1404137700, 1404138600, 1404139500, 1404140400, 1404141300, 1404142200, 1404143100, 1404144000, 1404144900, 1404145800, 1404146700, 1404147600, 1404148500, 1404149400, 1404150300, 1404151200, 1404152100, 1404153000, 1404153900, 1404154800, 1404155700, 1404156600, 1404157500, 1404158400, 1404159300, 1404160200, 1404161100, 1404162000, 1404165600, 1404166500, 1404167400, 1404168300, 1404169200, 1404170100, 1404171000, 1404171900, 1404172800, 1404173700, 1404174600, 1404175500, 1404176400, 1404177300, 1404178200, 1404179100, 1404180000, 1404180900, 1404181800, 1404182700, 1404183600, 1404184500, 1404185400, 1404186300, 1404187200, 1404188100, 1404189000, 1404189900, 1404190800, 1404191700, 1404192600, 1404193500, 1404194400, 1404195300, 1404196200, 1404197100, 1404198000, 1404198900, 1404199800, 1404200700, 1404201600, 1404202500, 1404203400, 1404204300, 1404205200, 1404206100, 1404207000, 1404207900, 1404208800, 1404209700, 1404210600, 1404211500, 1404212400, 1404213300, 1404214200, 1404215100, 1404216000, 1404216900, 1404217800, 1404218700, 1404219600, 1404220500, 1404221400, 1404222300, 1404223200, 1404224100, 1404225000, 1404225900, 1404226800, 1404227700, 1404228600, 1404229500, 1404230400, 1404231300, 1404232200, 1404233100, 1404234000, 1404234900, 1404235800, 1404236700, 1404237600, 1404238500, 1404239400, 1404240300, 1404241200, 1404242100, 1404243000, 1404243900, 1404244800, 1404245700, 1404246600, 1404247500, 1404248400, 1404252000, 1404252900, 1404253800, 1404254700, 1404255600, 1404256500, 1404257400, 1404258300, 1404259200, 1404260100, 1404261000, 1404261900, 1404262800, 1404263700, 1404264600, 1404265500, 1404266400, 1404267300, 1404268200, 1404269100, 1404270000, 1404270900, 1404271800, 1404272700, 1404273600, 1404274500, 1404275400, 1404276300, 1404277200, 1404278100, 1404279000, 1404279900, 1404280800, 1404281700, 1404282600, 1404283500, 1404284400, 1404285300, 1404286200, 1404287100, 1404288000, 1404288900, 1404289800, 1404290700, 1404291600, 1404292500, 1404293400, 1404294300, 1404295200, 1404296100, 1404297000, 1404297900, 1404298800, 1404299700, 1404300600, 1404301500, 1404302400, 1404303300, 1404304200, 1404305100, 1404306000, 1404306900, 1404307800, 1404308700, 1404309600, 1404310500, 1404311400, 1404312300, 1404313200, 1404314100, 1404315000, 1404315900, 1404316800, 1404317700, 1404318600, 1404319500, 1404320400, 1404321300, 1404322200, 1404323100, 1404324000,
1404324900, 1404325800, 1404326700, 1404327600, 1404328500, 1404329400, 1404330300, 1404331200, 1404332100, 1404333000, 1404333900, 1404334800, 1404338400, 1404339300, 1404340200, 1404341100, 1404342000, 1404342900, 1404343800, 1404344700, 1404345600, 1404346500, 1404347400, 1404348300, 1404349200, 1404350100, 1404351000, 1404351900, 1404352800, 1404353700, 1404354600, 1404355500, 1404356400, 1404357300, 1404358200, 1404359100, 1404360000, 1404360900, 1404361800, 1404362700, 1404363600, 1404364500, 1404365400, 1404366300, 1404367200, 1404368100, 1404369000, 1404369900, 1404370800, 1404371700, 1404372600, 1404373500, 1404374400, 1404375300, 1404376200, 1404377100, 1404378000, 1404378900, 1404379800, 1404380700, 1404381600, 1404382500, 1404383400, 1404384300, 1404385200, 1404386100, 1404387000, 1404387900, 1404388800, 1404389700, 1404390600, 1404391500, 1404392400, 1404393300, 1404394200, 1404395100, 1404396000, 1404396900, 1404397800, 1404398700, 1404399600, 1404400500, 1404401400, 1404402300, 1404403200, 1404404100, 1404405000, 1404405900, 1404406800, 1404407700, 1404408600, 1404409500, 1404410400, 1404411300, 1404412200, 1404413100, 1404414000, 1404414900, 1404415800, 1404416700, 1404417600, 1404418500, 1404419400, 1404420300, 1404421200, 1404424800, 1404425700, 1404426600, 1404427500, 1404428400, 1404429300, 1404430200, 1404431100, 1404432000, 1404432900, 1404433800, 1404434700, 1404435600, 1404436500, 1404437400, 1404438300, 1404439200, 1404440100, 1404441000, 1404441900, 1404442800, 1404443700, 1404444600, 1404445500, 1404446400, 1404447300, 1404448200, 1404449100, 1404450000, 1404450900, 1404451800, 1404452700, 1404453600, 1404454500, 1404455400, 1404456300, 1404457200, 1404458100, 1404459000, 1404459900, 1404460800, 1404461700, 1404462600, 1404463500, 1404464400, 1404465300, 1404466200, 1404467100, 1404468000, 1404468900, 1404469800, 1404470700, 1404471600, 1404472500, 1404473400, 1404474300, 1404475200, 1404476100, 1404477000, 1404477900, 1404478800, 1404479700, 1404480600, 1404481500, 1404482400, 1404483300, 1404484200, 1404485100, 1404486000, 1404486900, 1404487800, 1404488700, 1404489600, 1404490500, 1404491400, 1404492300, 1404684000, 1404684900, 1404685800, 1404686700, 1404687600, 1404688500, 1404689400, 1404690300, 1404691200, 1404692100, 1404693000, 1404693900, 1404694800, 1404695700, 1404696600, 1404697500, 1404698400, 1404699300, 1404700200, 1404701100, 1404702000, 1404702900, 1404703800, 1404704700, 1404705600, 1404706500, 1404707400, 1404708300, 1404709200, 1404710100, 1404711000, 1404711900, 1404712800, 1404713700, 1404714600, 1404715500, 1404716400, 1404717300, 1404718200, 1404719100, 1404720000, 1404720900, 1404721800, 1404722700, 1404723600, 1404724500, 1404725400, 1404726300, 1404727200, 1404728100, 1404729000, 1404729900, 1404730800, 1404731700, 1404732600, 1404733500, 1404734400, 1404735300, 1404736200, 1404737100, 1404738000, 1404738900, 1404739800, 1404740700, 1404741600, 1404742500, 1404743400, 1404744300, 1404745200, 1404746100, 1404747000, 1404747900, 1404748800, 1404749700, 1404750600, 1404751500, 1404752400, 1404753300, 1404754200, 1404755100, 1404756000, 1404756900, 1404757800, 1404758700, 1404759600, 1404760500), tzone = "", tclass = c("POSIXct", "POSIXt")), .indexCLASS = c("POSIXct", "POSIXt"), .indexTZ = "", tclass = c("POSIXct", "POSIXt"), tzone = "", .Dim = c(1000L, 1L), .Dimnames = list(NULL, "End.Eq"))
charts.PerformanceSummary(RETURNS, na.rm=T)
# THIS PROVIDES NO ERROR:
RETSBYDAY <- structure(c(0, 0, 0.0131666666666667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), index = structure(c(1403395200, 1403481600, 1403568000, 1403654400, 1403740800, 1403827200, 1.404e+09, 1404086400, 1404172800, 1404259200, 1404345600, 1404432000, 1404604800, 1404691200), tclass = "Date", tzone = "UTC"), .indexCLASS = "Date", .indexTZ = "", tclass = c("POSIXct", "POSIXt"), tzone = "", .Dim = c(14L, 1L), .Dimnames = list(NULL,"DTT3.DailyEndEq"), class = c("xts", "zoo"))
charts.PerformanceSummary(RETSBYDAY)
#RETURNS and RETSBYDAY are 1xN xts objects.
#RETURNS has an NA value and RETSBYDAY has none; including na.rm=T makes no difference.
I don't get an error using performanceanalytics version 1.4.3541. Perhaps update your version?
I do get warnings though, that "na.rm is not a graphical parameter" when calling charts.PerformanceSummary with na.rm = TRUE. This warning arises because na.rm = T is passed into the function as an extra parameter (because the function has the special parameter ...), which is then passed on to the charting functions inside charts.PerformanceSummary, which include chart.CumReturns, chart.BarVaR, and chart.Drawdown, all of which accept passthrough parameters via ... = ... in their function calls inside charts.PerformanceSummary.
You can't assume every function in R will use na.rm = TRUE to remove NAs. Just mostly base functions like mean, sum, etc... It would be safer to remove the NAs before passing data to a function, if you get errors arising from the NAs in the function call. In case you are not aware, this can usually be easily done in a one liner, such as RETURNS <- RETURNS[!is.na(RETURNS),]
I am trying to cut my numeric values such that I also get a count for the number of zeros. Not sure how to accomplish that. These are my goals.
1) I specifically get a count of number of zeros.
2) Option to cut the remaining non-zero values into many different
bins.
Right now I tried this below and I cannot get any count of number of zeros.
c1 <- cut(df$Col1, breaks = seq(0, 1442, by = 53.25))
Expected Output
(0] (0,53.2] (53.2,106] (106,160] (160,213] (213,266] (266,320] (320,373] (373,426] (426,479]
1652 1 6 1 34 6 1 1 8 2
(479,532] (532,586] (586,639] (639,692] (692,746] (746,799] (799,852] (852,905] (905,958]
0 0 4 1 0 0 1 0 0
(958,1.01e+03] (1.01e+03,1.06e+03] (1.06e+03,1.12e+03] (1.12e+03,1.17e+03] (1.17e+03,1.22e+03] (1.22e+03,1.28e+03] (1.28e+03,1.33e+03] (1.33e+03,1.38e+03] (1.38e+03,1.44e+03]
0 0 0 0 0 0 0 0 0
dput(df$Col1)
structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 182.71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 445, 0, 0, 176.02, 0, 192,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 209, 0, 0, 161.19, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
0, 100, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 195, 0, 0, 0, 0, 398,
0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 204, 0, 89.37, 0, 0, 0,
0, 0, 0, 194, 0, 0, 0, 0, 212, 0, 0, 0, 0, 212, 211, 0, 402,
219, 0, 0, 244, 194, 0, 183.75, 0, 0, 0, 0, 0, 0, 0, 104, 197,
0, 0, 53.25, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 383,
314, 202, 0, 0, 0, 0, 204, 227, 0, 205, 211, 670, 230.39, 0,
0, 110, 801, 595, 0, 0, 0, 438, 0, 397, 203, 209, 0, 209, 0,
258, 0, 0, 213, 0, 201, 174.84, 213, 0, 407, 208, 218, 365.7,
205, 595, 0, 608, 601, 183, 381.56, 421, 1442, 408), label = "Col1", class = c("labelled",
"numeric"))
The ( of (0,53.2] on the left of each bin means an "open-end", meaning values above that boundary. (x is your df$Col1.)
And it looks like you want the table of the cut, so this is the starting point:
head(table(cut(x, breaks = seq(0, 1442, by = 53.25))))
# (0,53.2] (53.2,106] (106,160] (160,213] (213,266] (266,320]
# 1 6 1 34 6 1
Two options. Either use right-closed:
head(table(cut(x, breaks = seq(0, 1442, by = 53.25), right = FALSE)))
# [0,53.2) [53.2,106) [106,160) [160,213) [213,266) [266,320)
# 1652 7 1 32 8 1
(Realize that this will change some of your bin counts, as you can see above.) Or explicitly provide something "to the left" of your first bin:
head(table(cut(x, breaks = c(-Inf, seq(0, 1442, by = 53.25)))))
# (-Inf,0] (0,53.2] (53.2,106] (106,160] (160,213] (213,266]
# 1652 1 6 1 34 6
This retains the original bin counts and ensures you have all of your zeroes (and, if present, any negative values).
I'm trying to write a script to analyze my data. Would be great if you can help me with that.
Let's start with my data:
> dput(tbl_alles[1:100,])
structure(list(`10` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0), `20` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0), `52.5` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0.7306675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0), `81` = c(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0.91538769,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0), `110` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.85441768, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0.61947266, 0, 0, 0), `140.5` = c(0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5664111,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6800275, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6300494, 0, 0, 0), `189` = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0.6234154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0.987181, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6194727,
0, 0, 0), `222.5` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0.8632862, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0.3456471, 1, 0, 0), `278` = c(0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0.61502309,
0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0.44036184, 1,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.42691496, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0.32234716, 0, 0, 0, 0.08890253, 0.67918373,
0, 0), `340` = c(0, 0, 0, 0, 0, 0, 0.583163048, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0, 1, 0.218194067, 0.325932107, 1, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.663889907, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.789927058, 0, 0.44201215,
0, 0, 0, 0, 0.134339392, 0, 0.668372028, 0, 0, 0, 0, 0, 0, 0,
0.387740087, 0, 0, 0, 0, 0, 0, 0), `397` = c(0, 1, 0, 0, 0, 0,
1, 0, 1, 0, 0, 0, 0, 0.63953839, 0, 1, 0, 0, 0, 1, 1, 0.81888525,
0.89884151, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0.51459601, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0.75141988, 0, 0, 0, 0, 0, 0, 0, 0, 0.65763553, 1, 0, 0,
0, 0, 1, 0, 1, 0.67607045, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0,
0, 0.80260185, 0, 0, 0, 0, 0, 0, 1), `453.5` = c(0, 0.66069369,
0, 0, 0, 1, 0.57541627, 1, 1, 0, 0, 0, 1, 0.64615661, 0, 0.45209671,
0, 0, 0, 0.17022498, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0.02056466, 0.08765142, 1, 0, 0, 0, 0, 0, 1, 0.53107365,
0, 0, 1, 0, 0.47454662, 1, 0.58701126, 1, 0.83194495, 0, 0, 1,
0, 0, 0, 0, 0.04550448, 0, 1, 0, 0.65763553, 1, 1, 0.05581525,
0, 0, 0.78992706, 1, 0.80859968, 0.80441503, 1, 1, 0, 0.5866736,
0, 0, 0.75623688, 0.36602167, 0, 0, 1, 0, 0.31053744, 1, 0.52549512,
1, 0, 0, 0, 0, 0.51742419), `529` = c(0, 0.521435654, 0, 0, 1,
0, 0.175996209, 0, 0, 0, 1, 0, 0, 0, 0, 0.886059888, 0, 0, 0,
0.17022498, 0, 0, 0.643526362, 0, 0, 0, 0, 0, 0.438237074, 0.01594858,
0, 0.383182117, 0, 0, 0, 0, 0, 0, 1, 0.101027654, 1, 0, 0, 0,
0, 0, 0, 0.733614607, 0.89648659, 0, 0, 0.703255538, 0, 1, 0.383200069,
0.868653232, 1, 0.065540432, 0, 0, 0.221275397, 0.229618981,
0, 0, 0, 0.14131076, 0, 0.665883882, 0, 0.399096177, 0.570186116,
0.917797708, 0.349222091, 0, 0, 0.872987981, 0, 0, 1, 1, 0.58275186,
0, 0.211497647, 0, 0, 0.929066091, 0.826799766, 0, 0, 0, 0, 0.148043509,
0.802601847, 1, 0.780383116, 0, 0, 0, 0, 0.340224249), `580` = c(0,
0.437291195, 0, 0, 1, 0, 0.20731698, 0, 0, 0, 1, 0, 0, 0, 0,
0.719755907, 0, 0, 0, 0.033248127, 0, 0, 0, 0, 0, 0, 0, 0, 0.443305568,
0, 0, 0.558877749, 0, 0, 0, 0, 0, 0, 1, 0.171621995, 1, 0, 0,
0, 0, 0, 0, 0.28952456, 1, 1, 0, 0.470920245, 0, 0.690299657,
0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0.111377617, 0.740623952, 0,
0, 0.53029633, 0, 0.917797708, 0.395559317, 0, 0, 0.484708125,
0, 0, 0.174273053, 0, 0.693355663, 0, 0.050471201, 1, 0, 0, 1,
0, 0, 0, 0, 0.698359908, 0.298609118, 0.702753583, 0.926794372,
0, 0, 0, 0, 0.320673115), `630.5` = c(0, 0.52204783, 0, 0, 0,
0, 0.48815538, 0, 0, 0, 0, 1, 0, 0, 0, 0.82709638, 0, 0, 0, 0.09539534,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.45656691,
0.74836669, 0, 0, 0, 0, 0, 0, 0, 0.95701562, 1, 0, 0.67884433,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0.65763553,
0, 0, 1, 0, 0, 0.77875219, 0, 0, 0.25002477, 0, 1, 0, 0, 0, 0,
0, 0.82679977, 0, 0, 0, 0, 0.84843874, 0.38138487, 0.79820877,
0, 0, 0, 0, 0, 0.51876177), `683.5` = c(0, 0.52429838, 0, 0,
0, 0, 0.59605685, 0, 0, 0, 0, 0, 0, 0, 0, 0.27845748, 0.28224351,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0.94942976, 0, 0, 0, 0, 0, 0.74467188, 0, 0, 0.31501511,
0, 0, 0, 0, 0, 0, 0, 0.73190143, 0, 0, 0, 0, 0, 0.90254266, 0.42921624,
0, 0, 0.56841245, 0, 0, 0.48306937, 0.54177946, 0, 0.70689046,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.72875619, 0, 0, 0, 0, 1, 0.26676304,
0.77778861, 0, 0, 0, 0, 0, 0.17064527), `735.5` = c(1, 0.3768651,
0, 1, 0, 0, 0.51381348, 0, 0, 0, 0, 0, 0, 0, 0, 0.39914361, 0.22206677,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0.42663351, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.61727598,
0, 0, 0, 0, 0, 0, 0.70045244, 0, 0, 0, 0, 1, 0.62631217, 0, 0,
0, 0, 0, 0, 0.14653411, 1, 1, 0.27513455, 0, 0, 0, 0, 0.75025613,
0, 0, 0, 0, 0, 0.92484335, 0, 1, 0, 1, 0.84843874, 0.12198269,
0.58556836, 0, 0, 0, 0, 0, 0.09714178), `784` = c(0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.45656691, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0.61727598, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 0, 0, 0.84843874, 0, 0, 0, 0, 0, 0, 0, 0
), `832` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0.16189002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0.2511846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0.23427262, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0.45750616,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.86974453,
1, 0, 0, 0.48180864, 0, 0, 0, 0.93083267, 0, 0, 0, 0), `882.5` = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3111616,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.63931007, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0.73948906, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0), `926.5` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0.63485498, 0, 0, 0, 0, 0, 0, 1, 0,
0.68547559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.35567368,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0.84973396, 0, 0, 1, 0), `973` = c(0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.86100786, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0.68128251, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0.30811206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.79599822, 0,
0, 0, 0), `1108` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0.75365872, 0, 0, 1, 0, 0, 0, 0, 0, 0.52862914,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.20061435, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0.93083267, 0, 0, 0, 0), `1200` = c(0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0.67241551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0.55638877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), .Names = c("10",
"20", "52.5", "81", "110", "140.5", "189", "222.5", "278", "340",
"397", "453.5", "529", "580", "630.5", "683.5", "735.5", "784",
"832", "882.5", "926.5", "973", "1108", "1200"), row.names = c("at1g01050.1",
"at1g01080.1", "at1g01090.1", "at1g01220.1", "at1g01420.1", "at1g01470.1",
"at1g01800.1", "at1g01910.5", "at1g01920.2", "at1g01980.1", "at1g02020.2",
"at1g02100.2", "at1g02130.1", "at1g02140.1", "at1g02150.1", "at1g02500.2",
"at1g02560.1", "at1g02780.1", "at1g02880.3", "at1g02920.1", "at1g02930.2",
"at1g03030.1", "at1g03110.1", "at1g03130.1", "at1g03210.1", "at1g03220.1",
"at1g03230.1", "at1g03310.2", "at1g03330.1", "at1g03475.1", "at1g03630.2",
"at1g03680.1", "at1g03870.1", "at1g03900.1", "at1g04130.1", "at1g04170.1",
"at1g04190.1", "at1g04270.2", "at1g04350.1", "at1g04410.1", "at1g04420.1",
"at1g04530.1", "at1g04640.2", "at1g04690.1", "at1g04750.2", "at1g04810.1",
"at1g04850.1", "at1g04870.2", "at1g05010.1", "at1g05180.1", "at1g05320.3",
"at1g05350.1", "at1g05520.1", "at1g05560.1", "at1g05620.2", "at1g06000.1",
"at1g06110.1", "at1g06130.2", "at1g06290.1", "at1g06410.1", "at1g06550.1",
"at1g06560.1", "at1g06570.1", "at1g06620.1", "at1g06650.2", "at1g06680.2",
"at1g06900.1", "at1g07080.1", "at1g07110.1", "at1g07140.1", "at1g07240.1",
"at1g07250.1", "at1g07440.1", "at1g07750.1", "at1g07780.4", "at1g07890.8",
"at1g07990.1", "at1g08110.3", "at1g08200.1", "at1g08360.1", "at1g08490.1",
"at1g08520.1", "at1g08550.2", "at1g08820.2", "at1g08830.2", "at1g08980.1",
"at1g09010.1", "at1g09020.1", "at1g09130.2", "at1g09210.1", "at1g09300.2",
"at1g09310.1", "at1g09340.1", "at1g09430.1", "at1g09490.2", "at1g09620.1",
"at1g09640.1", "at1g09750.1", "at1g09760.1", "at1g09780.1"), class = "data.frame")
As you can see most of cells contain a number "0".
I would like to create a subsets of my data. Let's call them "clusters". I would like to put in the same cluster "elements" (row.names) which has any value (different than 0) in the same column.
So for example:
row.name Column1 Column2 Column3 Column4
at1g02560.1 0 0.12 0 0
at1g02020.2 1 0 0.55 0.31
at1g14560.2 0.15 0.47 0 0
As you see at1g02560.1 has a value only in column 2, there is one more row which contains any value in the column 2, it's at1g14560.2. That means that they belong to the same cluster (let's say cluster 1).
The problem is that at1g02020.2 and at1g14560.2 has a value different than 0 in the column 1. They should be in the same cluster aswell (cluster 2).
In summary at1g14560.2 belong to two different clusters (cluster 1 and cluster 2).
As a result I would like to add additional column to my data named clusters and fill it with the numbers.
Example:
row.name data data data data Clusters
at1g02560.1 1
at1g14560.2 1,2
at1g02020.2 2
Is it even possible to do with R ?
Yes, it is possible to do with R. Here's one way using apply:
res <- cbind(tbl_alles,
Clusters=apply(tbl_alles, 1, function(x) paste(which(x!=0), collapse=",")))
head(res[, c(1:5, ncol(res))])
# 10 20 52.5 81 110 Clusters
# at1g01050.1 0 0 0 0 0 17
# at1g01080.1 0 0 0 0 0 11,12,13,14,15,16,17
# at1g01090.1 0 0 0 1 0 4
# at1g01220.1 0 0 0 0 0 17
# at1g01420.1 0 0 0 0 0 13,14
# at1g01470.1 0 0 0 0 0 12
You may also try:
indx <- which(!!tbl_alles,arr.ind=T)
tbl_alles$Clusters <- tapply(indx[,2],indx[,1], FUN=paste, collapse=",")
tbl_alles[1:5,c(1:5, ncol(tbl_alles))]
# 10 20 52.5 81 110 Clusters
#at1g01050.1 0 0 0 0 0 17
#at1g01080.1 0 0 0 0 0 11,12,13,14,15,16,17
#at1g01090.1 0 0 0 1 0 4
#at1g01220.1 0 0 0 0 0 17
#at1g01420.1 0 0 0 0 0 13,14