Overview
In this tutorial we’ll learn how to read data from various SOMA
objects. We will assume familiarity with SOMA objects, so it is
recommended to go through the vignette("soma-objects")
first.
A core feature of SOMA is the ability to read subsets of data from disk into memory as slices. SOMA uses Apache Arrow as an intermediate in-memory storage. From here, the slices can be further converted into native R objects, like data frames and matrices.
## TileDB Core version '2.26' used by TileDB-R package, but TileDB-SOMA uses '2.27'
Example data
Load the bundled SOMAExperiment
containing a subsetted
version of the 10X genomics PBMC
dataset provided by SeuratObject. This will return a
SOMAExperiment
object. This is a small dataset that easily
fits into memory, but we’ll focus on operations that can easily scale to
larger datasets as well.
experiment <- load_dataset("soma-exp-pbmc-small")
SOMA DataFrame
We’ll start with the obs
dataframe. Simply calling the
read()$concat()
method will load all of the data in memory
as an Arrow
Table.
obs <- experiment$obs
obs$read()$concat()
## Table
## 80 rows x 9 columns
## $soma_joinid <int64 not null>
## $orig.ident <dictionary<values=string, indices=int8>>
## $nCount_RNA <double>
## $nFeature_RNA <int32>
## $RNA_snn_res.0.8 <dictionary<values=string, indices=int8>>
## $letter.idents <dictionary<values=string, indices=int8>>
## $groups <large_string>
## $RNA_snn_res.1 <dictionary<values=string, indices=int8>>
## $obs_id <large_string>
This is easily converted into a data.frame
using Arrow’s
methods:
obs$read()$concat()$to_data_frame()
## # A tibble: 80 × 9
## soma_joinid orig.ident nCount_RNA nFeature_RNA RNA_snn_res.0.8 letter.idents
## <int> <fct> <dbl> <int> <fct> <fct>
## 1 0 SeuratProj… 70 47 0 A
## 2 1 SeuratProj… 85 52 0 A
## 3 2 SeuratProj… 87 50 1 B
## 4 3 SeuratProj… 127 56 0 A
## 5 4 SeuratProj… 173 53 0 A
## 6 5 SeuratProj… 70 48 0 A
## 7 6 SeuratProj… 64 36 0 A
## 8 7 SeuratProj… 72 45 0 A
## 9 8 SeuratProj… 52 36 0 A
## 10 9 SeuratProj… 100 41 0 A
## # ℹ 70 more rows
## # ℹ 3 more variables: groups <chr>, RNA_snn_res.1 <fct>, obs_id <chr>
Slicing
Slices of data can be read by passing coordinates to the
read()
method. Before we do that, let’s take a look at the
schema of obs
:
obs$schema()
## Schema
## soma_joinid: int64 not null
## orig.ident: dictionary<values=string, indices=int8>
## nCount_RNA: double
## nFeature_RNA: int32
## RNA_snn_res.0.8: dictionary<values=string, indices=int8>
## letter.idents: dictionary<values=string, indices=int8>
## groups: large_string
## RNA_snn_res.1: dictionary<values=string, indices=int8>
## obs_id: large_string
With any SOMA object, you can only slice across an indexed column (a
“dimension” in TileDB parlance). You can use dimnames()
to
retrieve the names of any SOMA object’s indexed dimensions:
obs$dimnames()
## [1] "soma_joinid"
In this case, there is a single dimension called
soma_joinid
. From the schema above we can see this contains
integers.
Let’s look at a few ways to slice the dataframe.
Select a single row:
obs$read(coords = 0)$concat()
## Table
## 1 rows x 9 columns
## $soma_joinid <int64 not null>
## $orig.ident <dictionary<values=string, indices=int8>>
## $nCount_RNA <double>
## $nFeature_RNA <int32>
## $RNA_snn_res.0.8 <dictionary<values=string, indices=int8>>
## $letter.idents <dictionary<values=string, indices=int8>>
## $groups <large_string>
## $RNA_snn_res.1 <dictionary<values=string, indices=int8>>
## $obs_id <large_string>
Select multiple, non-contiguous rows:
obs$read(coords = c(0, 2))$concat()
## Table
## 2 rows x 9 columns
## $soma_joinid <int64 not null>
## $orig.ident <dictionary<values=string, indices=int8>>
## $nCount_RNA <double>
## $nFeature_RNA <int32>
## $RNA_snn_res.0.8 <dictionary<values=string, indices=int8>>
## $letter.idents <dictionary<values=string, indices=int8>>
## $groups <large_string>
## $RNA_snn_res.1 <dictionary<values=string, indices=int8>>
## $obs_id <large_string>
Select multiple, contiguous rows:
obs$read(coords = 0:4)$concat()
## Table
## 5 rows x 9 columns
## $soma_joinid <int64 not null>
## $orig.ident <dictionary<values=string, indices=int8>>
## $nCount_RNA <double>
## $nFeature_RNA <int32>
## $RNA_snn_res.0.8 <dictionary<values=string, indices=int8>>
## $letter.idents <dictionary<values=string, indices=int8>>
## $groups <large_string>
## $RNA_snn_res.1 <dictionary<values=string, indices=int8>>
## $obs_id <large_string>
Selecting columns
As TileDB is a columnar format, it is possible to select a subset of
columns to read by using the column_names
argument:
obs$read(coords = 0:4, column_names = c("obs_id", "groups"))$concat()
## Table
## 5 rows x 2 columns
## $obs_id <large_string>
## $groups <large_string>
Filtering
In addition to slicing by coordinates you can also apply filters to
the data using the value_filter
argument. These expressions
are pushed down to the TileDB engine and efficiently applied to the data
on disk. Here are a few examples.
Identify all cells in the "g1"
group:
obs$read(value_filter = "groups == 'g1'")$concat()$to_data_frame()
## # A tibble: 44 × 9
## soma_joinid orig.ident nCount_RNA nFeature_RNA RNA_snn_res.0.8 letter.idents
## <int> <fct> <dbl> <int> <fct> <fct>
## 1 1 SeuratProj… 85 52 0 A
## 2 5 SeuratProj… 70 48 0 A
## 3 6 SeuratProj… 64 36 0 A
## 4 7 SeuratProj… 72 45 0 A
## 5 8 SeuratProj… 52 36 0 A
## 6 9 SeuratProj… 100 41 0 A
## 7 11 SeuratProj… 191 61 0 A
## 8 15 SeuratProj… 168 44 0 A
## 9 17 SeuratProj… 135 45 0 A
## 10 18 SeuratProj… 79 43 0 A
## # ℹ 34 more rows
## # ℹ 3 more variables: groups <chr>, RNA_snn_res.1 <fct>, obs_id <chr>
Identify all cells in the "g1"
or "g2"
group:
obs$read(value_filter = "groups == 'g1' | groups == 'g2'")$concat()$to_data_frame()
## # A tibble: 80 × 9
## soma_joinid orig.ident nCount_RNA nFeature_RNA RNA_snn_res.0.8 letter.idents
## <int> <fct> <dbl> <int> <fct> <fct>
## 1 0 SeuratProj… 70 47 0 A
## 2 1 SeuratProj… 85 52 0 A
## 3 2 SeuratProj… 87 50 1 B
## 4 3 SeuratProj… 127 56 0 A
## 5 4 SeuratProj… 173 53 0 A
## 6 5 SeuratProj… 70 48 0 A
## 7 6 SeuratProj… 64 36 0 A
## 8 7 SeuratProj… 72 45 0 A
## 9 8 SeuratProj… 52 36 0 A
## 10 9 SeuratProj… 100 41 0 A
## # ℹ 70 more rows
## # ℹ 3 more variables: groups <chr>, RNA_snn_res.1 <fct>, obs_id <chr>
Altenratively, you can use the %in%
operator:
obs$read(value_filter = "groups %in% c('g1', 'g2')")$concat()$to_data_frame()
## # A tibble: 80 × 9
## soma_joinid orig.ident nCount_RNA nFeature_RNA RNA_snn_res.0.8 letter.idents
## <int> <fct> <dbl> <int> <fct> <fct>
## 1 0 SeuratProj… 70 47 0 A
## 2 1 SeuratProj… 85 52 0 A
## 3 2 SeuratProj… 87 50 1 B
## 4 3 SeuratProj… 127 56 0 A
## 5 4 SeuratProj… 173 53 0 A
## 6 5 SeuratProj… 70 48 0 A
## 7 6 SeuratProj… 64 36 0 A
## 8 7 SeuratProj… 72 45 0 A
## 9 8 SeuratProj… 52 36 0 A
## 10 9 SeuratProj… 100 41 0 A
## # ℹ 70 more rows
## # ℹ 3 more variables: groups <chr>, RNA_snn_res.1 <fct>, obs_id <chr>
Identify all cells in the "g1"
group with more than more
than 60 features:
obs$read(value_filter = "groups == 'g1' & nFeature_RNA > 60")$concat()$to_data_frame()
## # A tibble: 20 × 9
## soma_joinid orig.ident nCount_RNA nFeature_RNA RNA_snn_res.0.8 letter.idents
## <int> <fct> <dbl> <int> <fct> <fct>
## 1 11 SeuratProj… 191 61 0 A
## 2 20 SeuratProj… 298 65 1 B
## 3 21 SeuratProj… 406 74 1 B
## 4 24 SeuratProj… 463 77 1 B
## 5 29 SeuratProj… 353 80 1 B
## 6 50 SeuratProj… 371 75 1 B
## 7 54 SeuratProj… 443 77 1 B
## 8 55 SeuratProj… 417 75 0 A
## 9 56 SeuratProj… 502 81 1 B
## 10 57 SeuratProj… 324 76 1 B
## 11 59 SeuratProj… 443 81 0 A
## 12 60 SeuratProj… 787 88 0 A
## 13 61 SeuratProj… 612 69 1 B
## 14 62 SeuratProj… 286 68 0 A
## 15 63 SeuratProj… 462 86 1 B
## 16 64 SeuratProj… 872 96 1 B
## 17 67 SeuratProj… 328 72 1 B
## 18 68 SeuratProj… 389 73 1 B
## 19 69 SeuratProj… 754 83 0 A
## 20 79 SeuratProj… 233 76 1 B
## # ℹ 3 more variables: groups <chr>, RNA_snn_res.1 <fct>, obs_id <chr>
SOMA SparseNDArray
For SOMASparseNDArray
, let’s consider the X
layer containing the "counts"
data:
counts <- experiment$ms$get("RNA")$X$get("counts")
counts
## <SOMASparseNDArray>
## uri: file:///tmp/RtmpyPpbTG/soma-exp-pbmc-small/ms/RNA/X/counts
## dimensions: soma_dim_0, soma_dim_1
## attributes: soma_data
Similar to SOMADataFrame
, we can load the data into
memory as an Arrow Table:
counts$read()$tables()$concat()
## Table
## 4456 rows x 3 columns
## $soma_dim_0 <int64 not null>
## $soma_dim_1 <int64 not null>
## $soma_data <double not null>
Or as a [Matrix::sparseMatrix()
]:
counts$read()$sparse_matrix()$concat()
## 80 x 230 sparse Matrix of class "dgTMatrix"
##
## [1,] . 1 . . . 1 . . 3 . . 1 . . . . . . . . . . 1 . . . . . . . 4 . .
## [2,] . . . 1 . . . . 7 . . . . . . . . . . . . 1 1 . 2 . 1 . . . 4 3 1
## [3,] . . . . . . . . 11 . . 1 . . . . . . . . . . . 1 . . . . . . 4 2 .
## [4,] . . . . . . . . 13 . . 1 . . . . . . . . . . 6 . . . . . . . 5 2 1
## [5,] . . . 1 . . . . 3 . . . . . . . . . . . . . . . . . . . . . 4 3 .
## [6,] . . . 1 . . . . 4 . . . . 1 . . . . . . . . 2 1 . . . . . . 4 1 1
## [7,] . . . . . . . . 6 . . . . . . . . . . . . . 4 . . . . . . . 3 1 1
## [8,] . . . 1 . . . . 4 . . . . . . . . . . . . . 1 1 . . . . . . 2 3 .
## [9,] . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . 2 2 .
## [10,] . 1 . . . . . . 21 . . 1 . . . . . . . . . . 4 . 1 . . . . . 2 1 1
## [11,] 2 2 . 14 3 1 3 . 2 . . . 1 . 3 . . . . 1 1 1 2 2 . 2 . 1 1 1 . . .
## [12,] 2 4 5 28 . 6 1 4 9 2 1 3 . 1 . 3 1 1 . . . . . . 1 2 4 . . . . . .
## [13,] 4 3 2 18 2 2 . 1 2 . 1 2 1 . 1 . . . . . 1 . 4 . 1 1 . 15 . . . . .
## [14,] 4 3 2 7 4 2 . 1 4 1 . . . 1 . 1 2 . . . 1 . 1 . . . . . 1 . . . .
## [15,] 2 2 5 15 . 2 2 2 4 1 . 1 . . 1 . . 1 . . . 2 . 2 2 . 1 . . . . . .
## [16,] 3 3 8 28 . 8 . 2 . 1 . 2 . 3 1 . 1 . 1 1 . . . . 3 . 1 . . 1 . 2 .
## [17,] 3 1 1 7 3 2 2 1 3 . 1 2 1 . . . . . 2 1 . . 4 . . 1 . . . 1 . . .
## [18,] 4 2 5 26 3 2 1 2 6 . 1 . 2 . . 1 . 1 1 1 . 2 2 . 1 . 1 23 1 . . . .
## [19,] 2 2 5 10 3 1 1 . 5 1 . 1 2 1 . . 1 . . . 1 1 6 1 . 1 . . . . . . .
## [20,] 3 5 12 16 2 2 2 1 7 . 1 . . . . 2 . 3 1 . . . 2 1 1 1 . . . 1 . . .
## [21,] . . . 7 . . 1 . 1 . . . . . . . . . . . . . 3 . . . . . . . . . .
## [22,] . . . 22 . 3 . 1 . . . . . . . . . . . . . . . . . . . . . . . 2 .
## [23,] . . 1 . . . 1 . . . . 1 1 . . . . . . . . . . . . . . . . . . . .
## [24,] . . . 10 . . . 1 1 . . . . . . . . . . . . . . 1 . . . . . . . . .
## [25,] 1 . . 6 . . . . 1 . . . 1 . . . . . . . . . . . . . . . . . 1 1 .
## [26,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [27,] . . . 4 . 1 . . . . . . . . . . . . . . . . 1 . . . . . . . . . .
## [28,] . . 1 3 . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . .
## [29,] . . . 7 . 1 . 2 . . . . . . . . . . . . . . . . . . . . . . . . .
## [30,] . 1 . 13 . . . . 1 . . . 1 . . . . . . . . . . . 1 . . . . . . . .
## [31,] . 1 . . . . . . 1 . . . . . . . . . . . . 1 . . . . . . . . . 1 .
## [32,] . . . 1 . . . . . . . . . . . . . . . . . . . 1 . . . . . . 7 . .
## [33,] . 2 . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . 1 .
## [34,] . . . . . . . . 1 . . . . . . . . . . . . . . 1 . . . . . . . 1 .
## [35,] . . . 1 . . . . . . . 1 . . . . . . . . . . . . . 1 . . . . . . .
## [36,] . . . . . . . . . . . 1 . 1 . . . . . . . . 1 . . . . . . . . . .
## [37,] . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . .
## [38,] . . . 1 . . . . . . . . . . . . . . . . . . . . 1 . . . . . . 2 .
## [39,] . . . . . . . . . . . . . 1 . . . . . . . . 4 . . . . . . . 1 . .
## [40,] . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
## [41,] . . . . . . . . . . . . . . . . . . . . . . 7 . . . . . . . . 1 .
## [42,] . . . . . . . . 1 . . . . . . . . . . . . . 1 . . . . . . . 2 . .
## [43,] . . . . . . . . 1 . . . . . . . . . . . . . 3 . . . . . . . 3 . .
## [44,] . . . . . . . . 1 . . . . . . . . . . . . 1 . . . . . . . . . . .
## [45,] . . . . . . . . 7 . . 1 . . . . . . . . . . 6 1 1 . . . . . 3 . .
## [46,] . . . 1 . . . . 1 . . . . . . . . . . . . . 1 . . 3 . . . . 15 . .
## [47,] . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 .
## [48,] . . . 1 . . . . 1 . . . . 1 . . . . . . . . 1 . . . . . . . 3 . .
## [49,] . . . . . . . . 5 . . . . . . . . . . . . . . . . . . . . . 6 . .
## [50,] . . . . . . . . 3 . . . . . . . . . . . . . 1 . . . . . . . 4 1 .
## [51,] . 1 . 10 . . . . 1 . . . . . 1 . . . . . . . . 1 . . . . . . . . .
## [52,] . . . 10 . 1 . . 2 . . . . . . . . . . . . . 1 . . . . . . . . 2 .
## [53,] . 1 . 4 . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [54,] . 1 . 1 . . . 1 . . . . . . . . . . . . . . 1 . . . . . . . . . .
## [55,] . 2 . 6 . 2 . 1 1 . . 1 . . 1 . . . . . . 1 . . . . . . . . . . .
## [56,] . 2 . 28 . . 1 . 1 . . . . . . . . . . . . 1 . . . . . . . . . 1 .
## [57,] . . . 10 . . . . 1 . . 1 . . . . . . . . . 1 . . . . . . . . . 1 .
## [58,] . . . 13 . 1 . 1 1 . . . 1 . . . . . . . . 1 . 1 . . . . . . . . .
## [59,] . 3 . 5 . 1 1 . 2 . . . . . . . . . . . . . 1 . . . . . . . . . .
## [60,] . . . 8 . . . 1 1 . . . . . . . . . . . . . 2 . 1 . . . . . . . .
## [61,] . . . 108 . 21 . 3 . . . 1 . . 1 . . . . . . 2 12 . . 1 . . . . . 1 .
## [62,] . . . 93 . 21 . 2 1 . . . . . . . . . . . . . 3 . 2 . . . . . . 1 .
## [63,] . . . 41 . 3 . 1 . . . . . . . . . . . . . . 1 . 1 1 . . . . . . .
## [64,] . 4 8 42 4 5 . 4 5 . . 3 . . . 1 . . . . 1 . 3 . 1 1 . . . 2 . . .
## [65,] . 1 . 138 . 11 . 5 . . . 1 . . 1 . . . . . . . . . . 1 . . . . . . .
## [66,] . . . 77 . 11 . 2 . . . . . . . . . . . . . 1 1 . . . . . . . . 1 .
## [67,] . . . 76 . 10 . 1 . . . . . . 1 . . . . . . . 2 . . . . . . . . . .
## [68,] 1 . . 15 . 1 . 1 . . . . . . . . . . . . . . . . . . . . . . . 1 .
## [69,] . . 1 19 . 2 . 1 1 . . . . . . . . . . . . . . . . 1 1 . . . . . .
## [70,] . . . 104 . 11 . 5 4 . . 1 . . . . . . . . . . 2 . . . . . . . 1 1 .
## [71,] . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [72,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [73,] . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
## [74,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [75,] . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [76,] . . . 1 . . . . . . . . . . . . . . . . . . . . 1 . 1 . . . . . .
## [77,] . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [78,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [79,] . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [80,] . . . 7 . 1 . . . . . . 1 . . . . . . . . . . . . 1 . . . . . . .
##
## [1,] 1 5 . 1 . 1 . . . 3 3 . 1 3 . 1 1 1 1 2 . 1 2 1 2 1 . . . . 1 . .
## [2,] . 2 . 1 1 1 5 2 2 2 3 . . 1 2 . . 2 . . . 3 2 1 . . . . . . . . 1
## [3,] 2 1 1 . 1 . . 1 . 1 . . 1 2 1 . 2 . . 1 1 2 2 1 . . . . . . 9 . 1
## [4,] 2 2 . . 1 1 . 1 2 6 4 2 . 5 4 . . . . 1 2 3 3 1 2 1 . . . . 8 . 1
## [5,] . 2 . . 36 . 2 . 1 5 2 . . 2 3 . 2 1 . 54 . 2 2 . . . . . . 1 1 . 3
## [6,] 1 . 2 . . . . 2 2 3 1 1 1 4 1 1 . . . 2 1 . 1 . . 1 . . . . . 1 .
## [7,] . 1 3 1 . . 1 1 . 4 1 . . 3 3 1 . . . 1 2 . . . 2 1 . . . . 3 . .
## [8,] 1 12 2 1 . 1 1 . 2 . 2 1 1 2 4 1 . . 1 1 2 . . 1 1 . . . . . 3 . .
## [9,] 2 . 3 1 . . . 1 3 1 1 . 1 3 2 . 1 . . 1 . 1 3 2 1 . . . . . . . .
## [10,] 1 9 . 1 . 1 1 . 1 6 1 . 1 . . . . . 1 3 1 . . . 1 . . . . . 3 . .
## [11,] . . . . . . . . 1 . . . . . . . . . . 1 . . . . . . . . . . . . .
## [12,] . . . . . . . . 1 1 1 . . 2 . . . . . 2 1 . 1 . . . . . . . . . .
## [13,] . . 1 . . . . . . . 1 . . 1 . . . . . . . . . . . . . . . . . 1 .
## [14,] . . . . . . . . . . . . . 1 . . . . . 1 . . . . . . . . . 2 . . .
## [15,] . 1 . . . . . . . . . . 1 5 . . . . . . . 1 . . . . 1 . . . . . .
## [16,] . . 1 . . . . . . . . . 1 . . . . . . . . 1 . . . . 1 . . . . . .
## [17,] . . . . . . . . . 2 1 . . . . . . . . . . . . 1 . . . . . . . . 2
## [18,] . . . . . . . . . . 3 . . 1 1 . . . . . . . . . . . 1 . . 1 . 1 .
## [19,] . 1 . . . . . . . 1 1 . 1 . 1 . . . . . . 1 . . . . . 1 1 . . . .
## [20,] . . 1 . . . 1 . . . 1 . . . 1 . . . . . . 1 . . . . . . . . . . .
## [21,] . 1 . . . . . . . 1 . . . . 1 1 . . . . . . . . . . . . . 2 . . .
## [22,] . . . . . . . . . 2 . . . . . . . . . 2 . . . . . . . . . 1 . . .
## [23,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [24,] . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . .
## [25,] . . . . . . . 1 . 1 3 . . 1 . . . . . 1 . 1 . 1 . . 1 . . . . 1 .
## [26,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [27,] . . . 1 . . . . . 1 . . . 1 . . . . . . . . . 1 . . . . . 1 . . .
## [28,] . . . . . . . . . . . . . 1 . . . . . . . 1 . 1 . . . . . . . . .
## [29,] . . . . 1 . . . 1 . . . . . . . . . . . . . . . 1 . 1 . . . . . .
## [30,] . 1 1 . . . . . . . 1 . . 1 . . 1 . . 3 . . . . . . . . . 1 . . .
## [31,] . 2 . . 1 . . . . . . . 1 2 . . . . . 1 . . 3 . . . 1 1 . 35 . . .
## [32,] 2 . . . . . . . . . . . . 2 1 . . . . . . . . . . . . 3 . 14 2 . .
## [33,] . . . . . . . . . . . . . . . . . . . 1 . . 1 . . . . 2 . 12 . . .
## [34,] . . . . . . . . . 2 . . . 2 1 . . . . 15 1 1 1 . 1 . . 3 . 30 5 . .
## [35,] . . . . 1 . . . . 2 . . . . . . . . . . . . 1 . . . . 2 . 20 4 . .
## [36,] . . . . . . . 1 . . . . . . . . 1 . . . . . 3 . . . . 4 . 27 . . 2
## [37,] . . . . . . . . . 1 . . . . . . 1 . . . . 1 4 . 2 . 1 8 . 28 . . .
## [38,] . . . 1 . . . . . . . . . 1 . . . . . . 1 . 2 . . . 1 6 . 10 . . .
## [39,] . . . . . . . . . . . . . 3 1 . . . . . . . 1 . . . 1 1 . 25 . . 1
## [40,] 2 . . . . . . . . . . . 1 1 . . . . . 1 1 . 1 . . . . 11 . 27 7 . 1
## [41,] . . . . . . . . . 2 2 . . 1 1 1 . . . 2 . . 2 . . . . 1 1 31 8 . .
## [42,] . 1 . . . . . . . 1 2 . . . . . . . . 1 . . 1 . 1 . 1 4 . 22 5 1 1
## [43,] . 3 . . . . . . . 4 . . . . 2 . . . . 3 1 1 4 . . . 1 1 2 7 5 . 1
## [44,] . 1 . . . . . . . . 1 . . 1 . . . . . 1 . . . . . . 1 2 1 2 . . 2
## [45,] . 1 . . . . . 1 . 4 . 1 . 2 1 . . . . . . . 2 . . . . 1 2 4 7 . 47
## [46,] . 1 . . . . . . 1 4 . . . . 2 . . . . 1 . . . 2 . . . 2 . 14 1 . .
## [47,] 2 . . . . . . . 1 . . . . 2 . . . . . 1 . . . . . . 1 2 . 16 6 1 1
## [48,] . 2 1 . . . . 1 . . 1 . . 3 1 . . . . 1 . . . . . . . 1 2 4 7 1 1
## [49,] . . . . 2 . . . . . . . . . 5 . . . . . . . . . . . 39 5 . 29 6 1 1
## [50,] . 2 1 . . . . . . 2 . . . 1 2 . . . . 1 3 . 1 . 1 1 . 1 3 8 1 1 1
## [51,] . . . 1 . . . 1 . . 1 . . . . 1 . . . . . 1 . . 1 . . . . 5 . . .
## [52,] . . . . . 1 . . . . 1 . . 2 . . 1 . . 1 . . . 1 1 . . . . 3 . . 2
## [53,] . . . 1 . . . . . 1 . . . . . . . . . . . . . . 1 . . . . . . . .
## [54,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . .
## [55,] . . 1 . . . . . . . 1 . . 2 . . . . . . . . . . . . . . . . . . .
## [56,] . . . . . . . . 2 2 . . 2 . . . . . . 1 . 1 . . . . . . . . . . .
## [57,] . . . . 1 . . . 3 . . . . 1 . . 1 . . . . . . . 1 . 1 . . 5 1 1 2
## [58,] . . . . . . . . . 1 . . . . . 1 . . . 3 . . . . . . . . . . 1 . .
## [59,] . . . . 1 . . . . . . . . 2 . . . . . 1 . . . . . . . . . . . . 1
## [60,] . . . . . . . . 1 1 1 . 1 1 . . . . . . . 1 . . 1 . 2 . . . . 1 .
## [61,] . 1 . . 1 . . 1 . 2 . 1 . 4 1 . . . . . . . . . . . 3 . . . . . .
## [62,] . 1 . . . . . . . . . . . . . 1 . . . 2 . 1 . 1 2 . . . . 1 . . .
## [63,] . 1 . . . . . . 1 . . . . . . . . . . 1 . 1 . . . . . 1 . . . . .
## [64,] . . . . . . . . 1 5 2 . . 4 . . . . . 1 . . . . 2 . 2 . . . . 1 .
## [65,] 2 1 . . 1 . . . 1 2 3 . . 2 . . . . . 3 1 4 . . . . . 1 . 1 1 . .
## [66,] 1 . . . . . . . 1 2 1 . . 4 . . 1 . . . . . . . 1 . . . . 3 . 1 1
## [67,] . . . . 1 . . . . . . . . 1 . . . . . 1 . 2 . . . . 1 . . . . . .
## [68,] . 1 . . . . . . 1 1 . . . . . . . . . 5 . . . . . . . . . 1 . . .
## [69,] . . . . . . . . . 2 . . . . . . . . . 13 . . . . 1 . . 1 . . . . .
## [70,] . . . . 2 . . . . . . . . 1 1 . . . . 2 . . 1 . . . . . 1 1 . . .
## [71,] . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
## [72,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [73,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
## [74,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [75,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [76,] . 1 . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
## [77,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [78,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . .
## [79,] . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . .
## [80,] . . . . . . . . 1 1 1 . . . . . . . . . . . . . . 1 . . . . 1 . .
##
## [1,] . . . . . . . . . . . 1 . . . 1 . . . . . . . . 1 . 1 . . . .
## [2,] . 3 . . 2 . 2 . . 1 . 2 . . . . . . . . . . . 1 1 . 1 . . . .
## [3,] . 2 . . 2 . . . . . . 2 . . . . . . . . 1 . . 1 1 . . . . 1 .
## [4,] . . 2 . 4 . . . 1 . . . 1 . . . . . . 1 . 1 . . . . . 2 . 1 .
## [5,] 1 1 . . 1 . . 1 . . . . . . . . . . . . 1 2 . . . . . . . . 1
## [6,] . 1 . . 1 . . . . . . 1 1 . . . . . . . . . . . 1 . . . . . .
## [7,] . 2 1 . . . . . . . . . . . . . . . . . . . . . . . . 1 . . .
## [8,] . . . 1 . . 1 . . . . . 1 . . . 1 . . . . . . 1 . . . . . . .
## [9,] . . . . . . . . . . . 2 2 . 1 . . . . . 1 . . . 1 . 1 1 . . .
## [10,] . 2 . . 6 . 2 . . . . 1 . . . . . . . . . . . . . . . . . 4 .
## [11,] . . . . . . . . . . . . . . . . . 1 . . . 1 . . 1 . 1 . . . .
## [12,] 1 . . . 1 . . 2 . . . . 2 . . 1 . . . . 1 1 . . 4 . . . . 1 .
## [13,] . . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . . 1 .
## [14,] . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . .
## [15,] . . . . 1 . . . . . . . 1 . . 1 . . . . . . . . . . . . . 1 .
## [16,] . . . 1 1 . . . . . 1 . . . . . . . . . . . . . . . . . . . .
## [17,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [18,] . . . . 1 . . . . . . . 1 . . . . . . . . . . . 1 . . . . . .
## [19,] . . . . . . . . . . . . . . . . . . . . . 1 . . 1 . . . . 1 .
## [20,] . . . . . . . 1 . . . 2 1 . . . . . . . . . . . . . . . . 1 .
## [21,] 1 . . . . . . . . . . . 1 . . . . . . . . 2 18 30 50 1 10 14 3 3 4
## [22,] . . 1 . . . 1 . 1 . . . . 1 . . . . . . . . 5 12 29 2 6 13 2 13 7
## [23,] . . . . . . 1 1 . . . . . . . . . . . . . . 25 51 25 2 5 3 . 5 1
## [24,] . . . . . . 1 . . . . . . . . . . . . . . . 5 22 49 4 9 10 . . 6
## [25,] . . . . 3 . 1 . . . . . 1 . . . . . . . . . 25 85 98 1 7 16 1 11 5
## [26,] . . . . . . . . . . . . . . . . . . . . . . 6 3 11 . 1 4 . . 1
## [27,] . . . . 1 . . . . . . . . 1 . . . . . . . . 24 54 59 1 1 13 1 2 6
## [28,] . . . . . . . . . . . . . . . . . . . . . . 40 55 28 1 2 12 . 3 4
## [29,] . . . . 1 . . . . . 1 1 . . . . . . . . . . 16 35 34 3 8 19 1 5 5
## [30,] . . 1 . . . . . . . . . 1 . . 1 . . . 1 . . 11 17 16 . 7 12 . 10 1
## [31,] 4 . . . . . . . . . . 1 . . . 1 . . . . . . 1 . . . . 3 . . .
## [32,] 4 1 2 . 2 . . . . . . 1 . . . 1 . . 1 . . . . . . . . . . 1 .
## [33,] 2 . 5 . . . 1 . . 1 . . . 1 . 1 . . 1 . . . . . 1 . . 4 . . .
## [34,] 7 2 14 1 . . 1 . . . . 1 . . . . . . 1 . . 2 . 1 . . . 3 . 1 2
## [35,] 2 1 . . 1 . . . . . . 1 . . 2 . . . . . . 2 . 1 2 . . 6 . . .
## [36,] 4 1 29 . . . 2 1 . . . . 1 . . . . . . . . 1 1 . . . . 7 . 1 .
## [37,] 3 1 1 . 1 . . . . . . . 1 . . . . . . 2 . 1 . 1 . . . 3 . . .
## [38,] 3 2 7 . . . 1 . . . . 1 1 . 3 . . . . . . 1 . . 1 . 1 4 . . .
## [39,] 2 1 5 . 1 . 1 . . . . . 2 . . . . . . . . 1 . . . . . 5 . . .
## [40,] 5 . 25 . 2 . 1 1 . . . 1 1 . 2 2 . . . . 1 . . . . . . 15 . . 1
## [41,] 2 1 . 1 1 1 1 1 1 . . . 1 . . 1 1 . 1 . . 2 . . . . . 2 . 5 .
## [42,] 3 1 14 . 2 . . 2 . . 1 1 2 1 1 1 1 . . 1 . 1 . . 1 . . . . 1 .
## [43,] 1 2 27 1 1 . 2 . . 3 . 3 1 . . . 1 1 . . 1 2 . . 1 . . 1 . 1 .
## [44,] 1 . 3 . 1 . 1 1 . . . . 1 1 . 1 . 1 . 1 1 . . . . . . 1 . . .
## [45,] . 1 13 . 1 1 . 1 1 1 . 1 1 . . 1 . 1 2 1 2 2 . . . . . . . . .
## [46,] 2 2 17 1 2 . . 1 . 3 . . . 1 . 1 . 2 1 . . 1 . . . . . . . . .
## [47,] 8 1 7 . 4 . 1 . 1 3 . . 1 . 1 1 . . . . . . . . . . 1 . . 1 .
## [48,] 4 1 3 1 1 . 1 1 . . 1 7 2 1 4 . . . 1 1 . 1 . . 1 . . . . . .
## [49,] 5 1 16 1 2 1 17 1 . . 1 . . 1 1 1 . . . 1 . 2 . . . . . . . 1 .
## [50,] 2 1 12 . 4 1 . . . . 2 1 2 . 1 . 13 . . . 1 . . . . . 2 . . . .
## [51,] . . 3 . 2 . . 1 . . . . . . . . . . . . . . 2 20 41 . 13 11 . 2 6
## [52,] . . 1 . 1 . . . . . . . 1 . . . . . 1 . . 1 2 6 4 . 7 21 . 2 5
## [53,] . . . . . . 1 . . . . . . . . . . . . . . . . 1 3 . 5 2 . 2 1
## [54,] . . . . . . . . . . . . . . . . . . . . . . 4 . 3 . 1 5 . . 1
## [55,] . . . . 2 . 1 . . . . . . . . . . . . . . . 3 10 14 . 4 21 . 2 6
## [56,] . . . . . . . . . . . . . . . . . . 1 . . 2 . 4 17 1 3 13 . 1 4
## [57,] . 1 . . 3 . 1 . . . . . 1 . . . . . . . . 1 1 8 7 . 1 16 . 1 3
## [58,] . . . . 1 . . . . . . . 1 . . . . . . . . 1 1 6 6 . 1 9 . 1 2
## [59,] . . . . 3 . 2 . . . . . . . . 2 . . . . . . 2 . 9 . 2 16 . 2 4
## [60,] . . . . 1 . . . . . . . 1 . . . . . . . 1 1 . . 6 . . 17 . 9 5
## [61,] . . . 2 . . 1 1 . . . . . 1 . 1 1 . . 1 1 1 . . 76 . . 2 . 2 1
## [62,] . . 1 . 2 . . . . . . . . . . . . . . . . . 2 . 20 . . 8 . 2 3
## [63,] . . . . 3 . . . . . . 1 1 . . 1 . . . . . . . 1 24 . 3 6 . . 2
## [64,] . . . . . . 1 1 . . . . 1 . . . . . . . . . 2 10 79 2 1 9 1 1 5
## [65,] 1 . 1 1 1 . 1 2 . . . . . . . 1 . . 1 . . 1 1 . 53 2 2 11 . 1 14
## [66,] 1 . 1 . 3 . . 2 . . . . . 1 . . . . . . . 4 9 41 53 1 4 14 1 6 11
## [67,] . . . . 2 . . . . . . . 2 1 . . . . . . 1 . 1 11 87 1 6 10 . 1 3
## [68,] . . . . . . 1 . . . . . . . . . . . . . . 1 23 32 76 1 1 10 . 3 4
## [69,] . . . . 4 . . . . . . . . . . . . . . . . . 4 17 42 . . 6 1 2 8
## [70,] 1 . . . 2 . . . . 1 . 2 . . . . . . . . . 2 . . 114 . . 7 1 4 4
## [71,] . . 8 . . . . . . . . . . . . . . . . . . . . 3 3 . . . . . .
## [72,] . . 5 . . . . . . . . . . . . . . . . . . . 1 . 1 . . . . . .
## [73,] . . 4 . . . . . . . . . . . . 1 . . . . . . . . 1 . . . . . .
## [74,] . . 10 . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
## [75,] . . 11 . . . . . . . . . . . . . . . . . . . . . 1 . . . . . .
## [76,] . . 30 . . . . . . . . . . . . . . . . . . . 1 . . . . . . . .
## [77,] . . 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [78,] . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [79,] . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [80,] . . 2 . . . . . . . . . . . . . . . . . . . 2 7 22 . . 14 . 6 2
##
## [1,] 1 . . . 1 . . . . 1 . . . . . . . . . . 1 . . . . . . . . .
## [2,] 1 . . . . . . . . . . 1 . . . 1 1 1 . . . . . . . . . . . .
## [3,] . . . . 1 . . 1 . . . . . . . . . . . . . . . . 1 . . . . .
## [4,] . . . . 2 . . . . . . . 1 . . . . . . . . . . . . . . 1 . .
## [5,] 1 1 . . 1 . . . . . . . . . . . . . . . . . . . . . . . 1 .
## [6,] 2 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [7,] . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . 1
## [8,] 1 . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . .
## [9,] 1 . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . .
## [10,] 1 1 . . . . . . . . . . . . . 1 . . . . . . . . . . . . . .
## [11,] 1 . . . . . . . . . . . . . . . . . . . . 3 . . . . 4 . . 1
## [12,] . 1 . . . . . 1 . . . . 1 . . . . . . . . 8 . . 1 . 10 4 . 4
## [13,] 1 . . . . . . . 1 . . . . . . . . . . . . 2 . . . . 4 4 . 3
## [14,] . . . . . . . . . . . . . . . . . . . . . 2 . . . . 4 1 . .
## [15,] . . . . . . . . . . . . . . . . . . . . . 5 . . . . 8 . . 4
## [16,] . 1 . . . . . . . . . . . . . . . . . . . 9 . . 4 . 23 8 . 8
## [17,] 1 1 . . . . . 1 . . . . . . . . . . . . . . . . 1 . 7 1 . 1
## [18,] 2 . . . . . . . . . . . . . . . . . . . . 5 . . 1 . . 5 . 2
## [19,] . . 1 . . . . . . . . . . . . . . . . . . 1 . . . . 4 . . 2
## [20,] 2 . . . . . . . . . . . . . . . . . . . . 5 . . 1 . 6 1 . 4
## [21,] 15 1 . . 2 1 . 1 1 2 1 3 5 12 . 2 . . . 1 5 . . . . . . 1 . .
## [22,] 9 2 . 1 14 1 1 3 1 27 1 4 1 6 . . 4 . 1 . 3 13 . . 4 . 18 5 1 8
## [23,] 1 6 1 . 10 1 . 1 . . . 2 . 2 1 . . . 1 . . 2 . . 1 . 1 . . 1
## [24,] 5 . . 4 8 . . 2 1 1 2 1 . 1 1 1 4 . . . . 1 . . 1 . 2 . . 1
## [25,] 7 36 2 1 11 1 1 . 1 1 1 1 1 6 2 14 4 1 . 1 3 . . . . . . . 2 .
## [26,] 3 1 1 1 4 1 . 1 1 1 . . 1 . 2 1 1 1 . 1 . 1 . . . . 3 . . .
## [27,] 4 5 4 7 6 1 1 . . . 1 . . . 1 2 3 3 . 1 1 . . . . . . . . .
## [28,] 4 . 1 1 7 1 2 1 . . . 2 . . 3 . . 2 2 . 5 . . . . . 1 . 1 .
## [29,] 11 3 1 1 22 . . 1 2 1 2 15 2 5 . 1 2 1 . . . 7 . . 1 . 7 . 1 4
## [30,] 7 5 . 2 37 . 1 3 1 1 1 2 1 2 1 2 . . 5 . 4 6 . . 2 . 7 1 . 1
## [31,] . 1 . . 3 . . . . . . . . . . . . . . . . . . . . . 2 . . .
## [32,] . . . . 4 . . . . . . . . . . . . . . . . 1 . . . . 4 . . 1
## [33,] 1 . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . .
## [34,] . . . . 6 . . 1 . . . . . . . . . . . . . 2 . . . . . . . .
## [35,] . . . . 1 . . . . . . . . . . . . . . . 1 . . . 1 . . . . .
## [36,] . . . . 3 . . . . . . . . . . . 1 . . . . . . . . . . . . .
## [37,] 1 1 . 1 14 . . . . . . . . . . . . . . . 1 1 . . . . . . . .
## [38,] . 1 . . 2 . . . . 1 . . . . . . . . . . 1 . . . . . . . . .
## [39,] . 1 . . 1 . . . . . . . . . . . . . . . 2 . . . . . . . . .
## [40,] 4 . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . .
## [41,] 1 1 . . 1 . . . . . . . . . . . . . . . . . 1 . . . . . . .
## [42,] 1 1 . . 3 . . . . . . 1 . . . . . . . . . . . . . . 4 1 . .
## [43,] . . . . . . . 1 . . . . . 1 . . . . . . . . . . . . . . . .
## [44,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [45,] 1 2 . . . . . . . . . . . . . . . . . . . 1 . . . . 1 . . .
## [46,] . . . . . . . . . . . . . . . . . . . . . 3 . . . . 2 . . 1
## [47,] . 1 . . 1 . . . . . . . . . . . . . . . . . . . . . . . . .
## [48,] . . . . . . . 1 . . . . . . . . 1 . . . . . . . . . . . . .
## [49,] . . . 1 1 . . . . . . . . . . . . . . . 1 1 . . . . . . . .
## [50,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [51,] 8 2 1 4 5 . . . . 1 . 4 . 3 . 3 2 . 1 1 . 12 . . 1 . 8 . . 4
## [52,] 8 4 . . 12 . . . . 1 1 5 . . . 2 2 . . . 2 4 . . . . 3 2 . 5
## [53,] 7 . . 1 4 . . . . 1 1 2 . . 1 . . . . . . 2 . . . . 5 . . .
## [54,] 3 1 . . 2 . . . . . . . . . . 1 . . . . 1 1 . . . . 2 . 1 .
## [55,] 10 2 . 1 16 2 1 2 . 3 1 . 1 . . 3 4 2 1 . 1 5 . . . . 3 . . 3
## [56,] 15 3 . . 10 . . 2 . 6 2 5 . . . 1 2 . 1 . 3 5 . . 4 . 7 1 . 3
## [57,] 18 6 . 3 6 1 . 5 1 1 1 2 . . . 1 . 1 . . 1 7 . . . . 6 1 1 6
## [58,] 19 4 . . 2 . . 1 . 2 1 3 1 . . . 2 2 . . 3 14 . . . . 5 2 1 3
## [59,] 4 2 . . 12 2 . 2 . 2 . 2 3 . . 1 1 . 1 . . 5 . . . . 9 . 2 6
## [60,] 17 5 . 2 16 1 1 . . 4 . 3 1 . . 1 . . 2 . 2 11 . . . . 4 . 2 2
## [61,] 5 1 . 1 8 . . 1 . 2 . . 2 3 4 3 . . . . . 75 16 . 6 3 102 25 2 11
## [62,] 3 . . 1 13 . . . . 2 . . 1 10 1 1 5 . . . 4 52 1 5 6 3 78 39 2 26
## [63,] 1 . . . 21 . . 1 1 2 . . 1 1 . . 1 1 2 . . 11 2 2 5 1 23 5 . 5
## [64,] 5 4 . 2 9 . . . . 2 . . . 2 7 2 . 1 . . 2 19 4 4 4 3 25 2 1 2
## [65,] . 2 . . 20 . . . 2 . . 1 3 3 7 2 6 . 1 . 6 54 8 2 6 . 69 16 1 31
## [66,] 3 5 . 2 10 2 . . 1 . . 2 1 4 . 3 2 1 . . 2 23 5 3 5 1 24 6 1 21
## [67,] 6 10 . 2 23 1 . 1 . 3 . . 1 4 2 3 7 . . . 5 45 8 6 6 3 43 11 6 21
## [68,] 2 6 . 1 5 . . . 1 1 1 . 1 1 1 1 2 1 . . 1 10 4 4 5 . 8 3 3 2
## [69,] . 4 . . 28 . . . . . . . 1 3 2 4 2 . . . . 23 7 2 3 1 10 4 5 3
## [70,] 3 2 . . 13 . . . . 2 . . 1 6 . 3 . . . . . 37 . 1 5 2 50 9 1 10
## [71,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . .
## [72,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [73,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [74,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [75,] . . . 1 1 . . . . . . . . . . . . . . . . . . . . . . . . .
## [76,] . 2 . . . . . . 1 . . . . . . . 1 . . . . . . . . . . . . .
## [77,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [78,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [79,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [80,] 3 3 . 1 10 . . . . . . 3 1 3 1 2 1 1 . . 4 5 . 1 1 . 5 . . 1
##
## [1,] . . . . . . . 1 . . . . . . . 2 . . 2 . . . . . . .
## [2,] . . . . . . . 1 . . . . . 1 . . . . . . . . 1 . . .
## [3,] . . . . . . 1 1 . . 1 . . . . 1 . . 1 2 . 2 . 1 . 1
## [4,] . . . . . . . 1 3 . . . . . . 2 . 3 . . 1 1 . 1 . .
## [5,] . . . 1 . . 1 2 . . 1 . 1 . . 3 . 2 . 3 1 . . . . .
## [6,] . 1 . . . . . . . . 1 . 1 . . 2 . 1 . 2 . 1 1 . . .
## [7,] . . . . . . . . . . . . . . . 2 . . 2 . . . 1 . . .
## [8,] . . . . . . . 1 . . . . . . . 1 . . 1 . 1 . 1 . . .
## [9,] . . . . . . . . 1 . . . . . 1 . . . . . . . 1 . . .
## [10,] . . . . . . . 2 . . . . 1 . . 3 1 . . . 1 . 2 . . .
## [11,] 2 . . . . . . . . 1 . . . . . . . . . . . . . . . .
## [12,] 10 . . . 2 . . 1 . 1 . . 1 . . . . . . . . 1 1 . . .
## [13,] 6 . . . . . . . 1 . . . 1 . . 1 . . . . 2 1 . . . .
## [14,] 1 . . . . . . . . 1 . . . . . . . . . . . . . . . .
## [15,] 5 . . . 1 . . . 2 . 1 . . . . . . . 1 2 1 1 2 . . .
## [16,] 16 . . . . . 3 2 . . . . 1 . . 2 . . . . . . 5 . 1 .
## [17,] 5 . . . 1 . . . . . . . . . . 4 . . . . . . . . . .
## [18,] 11 . . . 1 . 1 . . 2 . . . . . . . . . . 1 . . . . .
## [19,] 5 1 . . . . . . . 1 . . . . . . . 1 . . 1 . . . . .
## [20,] 8 1 . . . . . . . 1 1 . . . . 1 . . 1 . . . . . . .
## [21,] 2 13 4 . . . 2 . . . . . 1 4 . . . 3 5 6 1 . 4 3 6 1
## [22,] 12 28 . . 2 . 3 . . . 1 . 3 1 7 . . 6 7 5 . 1 15 . 4 5
## [23,] 1 15 . 1 . . 1 1 . . . . . 1 1 . . 1 6 1 . 1 8 . . .
## [24,] 5 11 . . . . 6 . 1 . . . 3 . 1 . . 4 5 5 1 . 5 . 2 .
## [25,] 1 13 . . . . 5 2 2 2 . . 1 1 1 . . 8 4 3 2 . 4 3 . .
## [26,] . 7 1 . . . 1 . . . . . 1 . . . . 3 3 2 . . 2 . . 2
## [27,] 3 37 . . . . 3 . 1 . . . 1 5 2 . . 5 1 1 . . 8 1 1 4
## [28,] . 5 . . . . 1 1 1 . . . . 1 . . . . 2 1 1 . 2 1 . 1
## [29,] 5 20 2 1 . . 4 2 1 1 . . 2 . 2 3 . 7 10 6 2 2 11 1 3 2
## [30,] 3 18 3 . . . 2 1 . . . . 3 2 1 3 . 13 12 4 . . 18 1 3 7
## [31,] . 1 . . . . 1 3 . . . . 1 . . 1 . . 1 . 2 1 3 . . .
## [32,] 2 . . . . . 2 . . . . 1 . . . 4 . . . 1 . . . 1 . .
## [33,] . . . . . . . 1 1 . . . . . . 5 . . . 2 1 1 . . . .
## [34,] 1 . . . . . 1 . 1 . . . 4 . . 1 . . . . 1 . . . . .
## [35,] . . . . . . 2 3 1 . . . 1 . 1 1 . . . 1 . . . . . .
## [36,] . . . . . . . . . . . . . . . . . 1 . . 1 . . . . .
## [37,] . 1 . . . . 1 . 1 . . . 4 . . 1 . . . 1 . . 1 . 1 .
## [38,] . 1 . . . . 2 1 1 . . . 1 . . . . . . 1 1 . . . . .
## [39,] 1 . . . . . . . 1 . . . . . . . . . . . . 1 1 . . .
## [40,] . . . 1 . . 1 3 1 . . . 1 . . . . . . . 2 1 1 . . .
## [41,] . . . . . . 2 1 . . . 1 . . . . . . . 3 . 1 . 1 . .
## [42,] . . . . 1 . . 1 . . 1 . . . . . . . . 1 1 1 1 . . .
## [43,] . . . 1 . . . . . . . . 1 . . . . . . . 1 . 3 1 . .
## [44,] . . . . . . . . . . . . . . . 2 . . . . . . . . . .
## [45,] . . . . . . . . . . . . . . . . . . 2 1 . 1 . . . .
## [46,] 3 . . . . . . . . . . . . . . 1 . . . . 1 1 . . . .
## [47,] . . . . . . . 2 . . . . 1 . . . . . . . 2 . . 1 . .
## [48,] . 1 . . . . . 1 . . 1 . 1 . . 1 . . . 1 2 . . . . .
## [49,] . . . . . . 1 1 . . . . . . . 3 . . . 2 1 1 2 . . .
## [50,] . . . . . . . 1 . . . . 2 . . . . . . 1 1 . 1 . . .
## [51,] 8 16 . . . . 4 3 1 . . . 9 2 2 3 . 15 7 8 2 . 21 2 2 5
## [52,] 4 32 . . . . 1 3 1 . . . 3 . 1 1 . 17 12 8 2 1 25 3 1 3
## [53,] . 7 . . . . 2 . . . . . 1 1 3 . . 8 7 6 1 . 6 16 1 4
## [54,] . 9 . . . . . 1 1 . . . . 1 . . . 11 6 2 . . 10 . 1 1
## [55,] 7 11 . . . . 1 2 . . . . 4 2 . . . 18 32 9 50 3 26 1 3 11
## [56,] 7 17 . . . . 5 2 . . 1 . 2 3 1 1 . 13 33 9 1 3 26 11 4 9
## [57,] 13 33 . 2 1 . . . . . . . 3 . 1 . . 36 12 10 1 1 16 3 5 2
## [58,] 6 10 . 1 2 . . 1 2 2 . . 2 1 . . . 17 19 8 1 27 15 5 5 5
## [59,] 6 15 1 . . . 1 2 3 . . . . 1 3 1 . 12 18 5 3 1 11 4 3 7
## [60,] 4 25 . . . . 1 . . . . . 6 3 2 1 . 27 29 10 1 1 22 6 6 10
## [61,] 50 61 1 . 7 2 9 1 4 2 . 2 5 6 4 3 . 12 6 1 5 . 10 8 1 .
## [62,] 53 31 8 1 9 5 4 . 3 . . . 1 1 . 1 4 7 7 2 . . 5 1 1 12
## [63,] 10 25 . 1 1 . 5 1 . 3 . . 5 . 2 . 1 7 1 1 . . 5 1 . 2
## [64,] 9 14 3 33 . . 7 2 1 2 1 . 1 2 . 2 . 4 3 6 . . 16 . 3 1
## [65,] 68 58 1 . 6 3 2 1 . 3 1 . 22 5 1 64 1 8 11 6 2 . 2 . . 3
## [66,] 36 112 2 . 1 3 5 . 1 1 . . 10 4 39 2 . 10 7 4 5 . 3 . 1 4
## [67,] 49 37 3 . 4 . 12 1 38 2 21 . 9 8 1 3 . 4 9 4 4 2 16 1 . 4
## [68,] 3 18 6 . 1 . 7 1 . . . 1 1 2 3 1 1 2 4 2 . 2 3 1 . .
## [69,] 9 29 1 1 . . 10 3 . 1 1 32 3 4 5 1 . 6 1 2 1 1 4 1 . .
## [70,] 26 125 . 3 5 1 18 43 1 8 . . 3 5 1 1 . 6 4 7 3 2 5 2 1 1
## [71,] . 5 . . . . . . . 1 . . . . . . . . . . . . 3 . . .
## [72,] . 1 . . . . . . . . . . . 1 . . . . . . . . 4 . . .
## [73,] . . 1 . . . . . 1 . . . . . . . . . . 1 . . 2 . . .
## [74,] . . . . . . . . . . . . . . . . . . . 1 . . 6 . . .
## [75,] . 5 . . . . 1 . . . . . . . . . . . 1 1 . . 3 . . .
## [76,] . 1 . . . . . . 2 . . . . . . . . . . . . . 17 . . .
## [77,] . 3 . . . . . . . . . . . . . . . . . . . . 3 . . .
## [78,] . . . . . . . . . . . . . . . . . . . . . . 6 . . .
## [79,] . . . . . . . . . . . . . . . . . . . . . . 4 . . .
## [80,] 4 16 5 . . . 4 3 2 . . . 4 . 1 . . 7 5 1 1 1 3 . 2 1
##
## [1,] . . 2 . . 3 1 . . . . . . . . . 1 . . . . . . . . . . . .
## [2,] . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . .
## [3,] . . 1 1 . 3 . . . . . 4 . . 1 . . . 1 . 1 . . . . . . . .
## [4,] . . 2 . . 3 . . 1 . . 2 1 . . 1 . . . 1 . 1 . . . . . . .
## [5,] 1 . 1 . . 1 . . . . . 1 . . . 1 . . . 1 . 1 1 . . . . . .
## [6,] . . . . . 3 . . . . . 2 . . . . . . . . . 1 . . . . . . .
## [7,] . . . . . 3 . . . . . . . . . . . . 1 . . . . . . . . . .
## [8,] 1 . 1 . . 1 . . . . . 1 . . . . . . . . . 1 1 . . . . . .
## [9,] . . 1 . . . . . . . . 1 . . . . . . 1 . . . . . . . . . .
## [10,] . . . . . 3 . . . . . 3 . . . . . . . . . 1 . . . . . . .
## [11,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [12,] 1 . 1 . 1 1 . . 2 . . 2 . . . . . . . 1 1 1 . . . . . . .
## [13,] . . . . . 2 . . . . . . . . . . . . . . . 1 . . . . . . .
## [14,] . . . . . . . . . . . . . . . . . 1 . 1 . . . . . . . . .
## [15,] . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . .
## [16,] . . . 1 . . . . . . . 1 . . . 1 . . . . . . . . . . . . .
## [17,] . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
## [18,] . . . . . . . . . . . 1 . . 1 . . . . . . . 1 . . . . . .
## [19,] . . . . . 2 . . . . . . . . . . . . . 1 . . . . . . . . .
## [20,] . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . .
## [21,] 1 . 2 6 . 6 . . . 1 . 6 1 . . . 2 1 . . . 4 . . . 1 . . .
## [22,] 1 . 10 3 1 4 2 . . 1 1 15 1 2 . 1 1 . . 1 . 5 . . . . . . .
## [23,] . . 4 4 . . . . . . . 2 . 4 . . 1 . . 1 . 3 . . . . . . .
## [24,] . . 2 6 . . . . . . . 4 . . . . 1 . . . . 5 . . . . . . .
## [25,] . . 2 1 1 1 . 1 2 . . 7 . . . . 1 . . . 1 12 1 . . . . . .
## [26,] . . 2 2 . 1 . . . . . 3 . . . . 1 . . . . 1 . . . . . . .
## [27,] . . 1 4 . . . . . . 1 6 . 3 . . 1 . . 1 . 15 1 . . . . . .
## [28,] . . 6 4 . 1 . 2 . 1 . . . . . . . 1 . . . 2 . . . . . . .
## [29,] . 1 5 9 . 3 1 . . 1 3 4 . 1 2 . . . . . . 3 . . . . . . .
## [30,] 1 . 6 8 . 6 . 2 . . . 20 . 3 1 1 2 . . 1 . 1 . . . 2 1 . .
## [31,] 6 . 6 8 . 8 . . . . . . . . . 2 . . . . . . 2 . . . . . .
## [32,] 2 . . . . 2 . . . . . 1 . 1 . . 2 . . . . 1 1 . . . . . .
## [33,] 2 . . 3 . 3 . . . . . 1 . . . . 1 . 1 . . . . . . . . . .
## [34,] 1 . . 1 . 5 . . . . . . 1 . . 1 . . . . . . . . . . . . .
## [35,] . . . 2 . 2 . . . . . . 1 . . . . . . . . . . . . . . . .
## [36,] 1 . . 5 . 1 . . . . . . . . . 1 . . . . . . . . . 1 . . .
## [37,] 2 . 1 6 1 5 . . . . . 1 . . . 3 . . 1 . . 2 1 . . . . . .
## [38,] 1 . 1 6 . 1 . . . . . . . . . 1 . . . . . . 1 . . . . . .
## [39,] 2 . . 1 1 3 . . . . . . . . . 1 . . . . . 1 1 . . . . . .
## [40,] 6 . . 6 . 2 . . . . . . . . . 2 . . 3 . . . . . . . . . .
## [41,] 2 . 1 3 . 7 . . . . . 1 . . . . . . . . . . . . . . . . .
## [42,] . . . . . 4 . . . . . 2 . . . . . . 1 . . . . . . . . . .
## [43,] . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . .
## [44,] . . . . . 2 . . . . . . . . . . . . . 1 . 1 . . . . . . .
## [45,] . . 1 . . 5 1 . . . . 5 . . . . . . . . . 1 . . . . . . .
## [46,] . . 1 . . 1 . . . . . 1 . . . . 1 . . . . . . . . . . . .
## [47,] 1 . . . . 1 . . . . . . . . . 1 1 . . . . 1 . . . . . . .
## [48,] . . 1 . . 4 . . . . . . . . . 1 . . . . . 2 . . . . . . .
## [49,] . . . . . 1 . . . . . 2 . . . . . . 1 . . . . . . . . . .
## [50,] . . . . . 2 1 . . . . . . . . . . . . . . . . . . . . . .
## [51,] . 1 17 12 . 5 . 3 . 2 1 9 2 6 . 1 2 1 . . . 5 2 . . . . . .
## [52,] 5 1 13 12 2 10 2 3 5 4 2 20 3 4 5 6 2 . 26 . . 3 . . . . . . .
## [53,] 1 3 1 2 1 1 2 . 1 2 . 9 . 1 . . . 1 . 1 . . . . . . . . .
## [54,] 2 . 2 4 . 4 1 1 . 1 1 3 . . . 1 2 . . 1 . . . . . . . . .
## [55,] 14 . 9 35 3 17 1 2 2 1 . 6 6 4 4 1 2 1 2 2 . 1 . . . . . . .
## [56,] 4 1 12 16 4 8 . 1 4 3 3 9 . 3 . 2 1 6 2 25 . 1 . . . . . . .
## [57,] 18 1 14 24 1 33 3 6 3 . 1 91 . . 5 7 . 4 1 . . . . . . . . . .
## [58,] 9 . 8 9 2 8 1 1 1 1 2 11 3 4 2 2 6 1 . 1 . 1 . . . . . . .
## [59,] 5 1 7 9 1 14 1 5 . . 3 18 . 2 1 6 3 . . . . 1 . . . . . . .
## [60,] 11 1 13 30 1 19 2 6 2 . 5 18 3 8 4 3 6 2 1 . . 2 1 . . . . . .
## [61,] . . 5 8 . 4 . 6 . . . 18 . . . 2 1 . . . . 6 1 . . . . . .
## [62,] . . 4 8 . 7 . . . . 1 2 . . . . . 1 . . . 7 . . . . . . .
## [63,] . . 5 3 . 4 . 3 1 . . 9 1 . . 1 . 1 . . . 2 . 1 . . . . .
## [64,] . . 3 3 . 3 . 1 . 1 . 11 1 . . . 1 . 1 . . 6 . . . . . . .
## [65,] . . 11 13 . 2 . 1 . . 1 12 . 1 . 2 2 . 1 . . 24 1 . . . . . .
## [66,] . . 9 8 1 2 2 3 . . 1 11 1 1 . . 1 . 1 . . 16 2 . . 2 . . .
## [67,] 1 . 9 7 . . 1 3 . . . 7 . . . . . 1 1 . . 28 1 . . . . . .
## [68,] . . 4 5 . 1 . . . . . 5 1 . . . 1 1 . . . 3 . . . . . . .
## [69,] 1 . 5 8 . 6 1 1 1 . 1 4 1 . . . . . 1 1 . 6 1 . . . . . .
## [70,] . . 2 3 2 4 . 4 1 . 4 25 1 1 . . 1 2 . . . 3 1 . 1 . . . .
## [71,] . . . . . . . . . . . 1 . . . . . . . . 43 18 4 14 11 1 8 6 14
## [72,] . . . . . . . . . . . 2 . . . . . . . . 41 8 4 11 3 5 3 5 5
## [73,] . . . . . . . . . . . . . . . . . . . . 36 12 2 14 13 3 2 9 8
## [74,] . . . 1 . . . . . . . 3 . . . . . . . . 55 18 2 18 8 3 2 10 11
## [75,] . . . . . 1 . . . . . . . 1 . . . . . . 58 18 2 23 8 2 3 7 15
## [76,] . . . . . 1 . . . . . 2 . . . . . . . . 54 28 15 62 29 7 9 23 6
## [77,] . . . . . . . . . . . 3 . . . . . . . . 66 11 2 9 3 3 3 12 4
## [78,] . . . 1 . . . . . . . . . 1 . 1 . . . . 34 13 1 14 6 1 3 6 3
## [79,] . . . . . . . . . . . 4 . 1 . . . . . . 30 16 3 6 5 1 4 11 5
## [80,] . . 1 4 . 1 . 1 . . 1 7 . 1 . . . 1 1 . 6 9 2 . 2 2 2 1 2
##
## [1,] . . . . 1 . . . 1 . . . . . . . . . 1 . . . . . . . . .
## [2,] . 1 . 1 . . . 1 2 . . . . . . . . . . . . . . . . . . 1
## [3,] . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [4,] . . . . . . . . . . . . . . . . . . . . 1 . . 1 . . . .
## [5,] . . . . . . . . 2 . . . . . . . . . . . . . . . . . . .
## [6,] . . . . 1 . . . . . 1 . . . . . . . . . . . . . . . . .
## [7,] . . . . . . . . . . . . . . . . . . . . 1 . 1 . . . . .
## [8,] . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [9,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . .
## [10,] . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
## [11,] . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [12,] . . . . . . . . . . . . . . . . . . . . 29 . . . . . . .
## [13,] . . . . . . . . . . . . . . . . . . . . . . . . 1 . . .
## [14,] . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [15,] . . . . 1 . 1 . 1 . . . . . . . . . . . . . . . . . . .
## [16,] . . . . 1 . . . 2 . . . . . . . . . . . . . . . . . . .
## [17,] . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [18,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [19,] . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [20,] . . . . . . 1 . . . . . . . . . . . . . . . . . . . . .
## [21,] . . . . . . . . 1 . . . . . . . . . . . . 1 . . . . 1 .
## [22,] . . . . . . . . 1 . . . . . . . . . . . . . . . . . . .
## [23,] . . . . . . . . 2 . . . . . . . . . . . . . . . . . . .
## [24,] . . . . . 3 . . 3 . . . . . . . . . . . . . . . . . . .
## [25,] . . . . . . . . 5 . . . . . . . . . . . 1 1 . . . . . .
## [26,] . 1 . . . . . . 1 . . . . . . . . . . . . . . . . . . .
## [27,] . . . . . . . . 2 . . . . . . . 1 . . . . . . . 1 . . .
## [28,] . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
## [29,] . 1 . 1 . . . . 3 . . . . . . . . . . . . . . . . . . .
## [30,] . . . . . . . . 2 . . . . 1 . . 1 . . . 1 . . . . . . .
## [31,] . . . 1 . . . . . . . 1 . . . . . . . . . 27 2 35 5 7 5 14
## [32,] . . . . . . . . . . . . . . . . . . . . . 2 5 . 3 . 3 1
## [33,] . . . . . . . . . . . . . . . . . . . . . 1 3 15 9 1 1 4
## [34,] . . . . . . . . . . . . . . . . . . . . . 10 4 3 2 1 . 9
## [35,] . . . . . . . . . . . . . . . . . . . . . 8 10 29 6 . 3 7
## [36,] . . . . . . . . . . . . . . . . . . . . . 5 8 11 3 1 1 10
## [37,] . . . . . . . . . . . . . . . . . . . . 2 10 12 22 6 5 1 10
## [38,] . . . 1 . . . . . . . . . . . . . . . . . 7 10 15 8 4 2 2
## [39,] . . . . . . . . . . . . . . . . . . . . . 4 3 18 2 1 1 4
## [40,] . . . . . . 1 . 2 . . . . . . . . . . . 1 11 13 18 5 1 1 7
## [41,] . . . . . . . . 1 . . . . . . . . . . . 1 3 1 10 4 . 3 6
## [42,] . . . 1 . . . . . . . . . . . . 1 . . . . . 8 . 1 . . 13
## [43,] . . . . . . . . . . . . . . . . . . . . . . 2 . . . . .
## [44,] . . . 1 . . . . . . . . . . . . . . . . . . 1 3 . . . .
## [45,] . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [46,] . . . . . . . . . . . . . . . . . . . . . . . . 2 . . .
## [47,] . . . . . . . . . . . . . . . . . . . . . 6 . 4 9 . . 6
## [48,] . . . . . . . . . . . . . . . . . . . . . . 3 1 . . . .
## [49,] . . . . . . . . 1 . . . . . . . . . . . 1 2 3 3 3 . . 5
## [50,] . . . . . . . . . . . . . . . . . . . . . . 2 . . . . 3
## [51,] . . . 1 1 . . . 1 . . . . . . . . . . . . . . . . . . .
## [52,] . . . 1 . . 1 . 2 . . . . . . . . . . . 1 1 . . . . . .
## [53,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . .
## [54,] . . . . . . . . . . . . . . . . . . . . . . . . 1 . . .
## [55,] . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
## [56,] . . . . . . . . 2 . . . . . . . 1 . . . . . . . . . . .
## [57,] . 1 . . 1 . . . 2 . . . . . . . . . . . . . . 1 . . . .
## [58,] . . . . . . . . 2 . . . . . . . . . . . . . . . . . . .
## [59,] . . . . . . . . 1 . . . . . . . . . . . . . 1 . . . . 1
## [60,] . 2 . 2 . . . . 2 . . . . . . . . . . . 2 . . 1 . . . .
## [61,] . 1 . . . . 1 . 1 . . . . . . . . . . . 1 . . . . . . .
## [62,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . .
## [63,] . . . . . . . . . . . . . . . . . . . . . . . 1 . . . 1
## [64,] . . . 2 . . . . 1 . . . . . . . . . . . . . . . . . . .
## [65,] . 1 . . 2 . . . 3 . . . . . . . . . . . . . . . . . . .
## [66,] . . . . . . . . 1 . . . . . . . . . . . . . . . . . . .
## [67,] . . . 1 1 . . . 3 . . . . . . . . . . . . . . . . . . .
## [68,] . . . . . . . . 1 . . . 1 . . . . . . . . . . . . . . .
## [69,] . . . . . . . . 1 . . . . . . . . . . . . . . . . . . .
## [70,] . . . 1 . . . . 2 . . . . . . . . . . . . . . 1 1 . . .
## [71,] 5 8 1 2 3 6 3 4 2 3 4 4 3 5 4 . 5 2 1 . . . . . . . . .
## [72,] 3 2 3 5 . 4 3 3 . . 1 1 1 1 . . 4 . . . 41 . . . . . . .
## [73,] 5 . 3 4 1 4 2 5 1 2 2 . 4 4 3 3 1 4 1 6 . . . . . . . .
## [74,] 5 12 2 4 2 3 3 2 2 7 . 4 1 2 4 1 4 . . 1 . . . . . . . .
## [75,] 2 8 3 1 1 4 2 14 1 4 2 2 3 4 8 1 . . . . 2 . . . . . . 1
## [76,] 42 7 11 6 14 3 9 32 10 . 3 6 8 1 1 2 . 20 25 26 1 . . . . . . .
## [77,] 2 3 6 . 2 4 . 2 37 1 1 2 . 4 2 1 1 2 . 1 . . . . . . . .
## [78,] 1 2 5 4 . 20 . . . 3 2 2 13 1 . 2 . 2 3 . 1 . . . . . . .
## [79,] 2 6 3 . 4 5 1 8 2 5 4 . 2 . . 3 . 1 1 . 1 . . . . . . .
## [80,] 1 . . 1 1 . . . 3 2 . . . . 1 . . . 1 1 1 . . . . . . .
##
## [1,] . 1 . . . . . . . . . . 1 . . 1 . 1 . .
## [2,] . . 1 . . . . 1 . . 1 1 . . . . . . 1 .
## [3,] . 1 . . . . . . . . . 1 . . . . . . . .
## [4,] . 1 . . . . . . . . . . . . . 3 . . . .
## [5,] . 2 1 . . . . . . . . 2 1 . . . . . . .
## [6,] . . 1 . . . . . . . 1 1 . . . 1 . . . .
## [7,] . . . . . . . . . . . . . . . 1 . 1 . .
## [8,] . 1 . . . . . . . . . . 1 . . . . . . .
## [9,] . . . . . . . . . . . . . . . 1 . . . .
## [10,] . . . . . . . . . . 1 . . . . . . . . .
## [11,] . . . . . . . . . . . . 1 . . . . . . .
## [12,] . 1 . . . . . . . . . . . . . 2 . . . .
## [13,] . . . . . . . . . 1 1 . . . . . . . . .
## [14,] . . . . . . . . . . . . . . . . . . . .
## [15,] . 1 . . . . . . . . 1 . . . . 1 . . . .
## [16,] . . . . . . . 1 . . . . 2 . . . . . . .
## [17,] . . . . . . . . . . . . 1 . . . . . . .
## [18,] . . . . . . . . 1 . . . . . . . . . . .
## [19,] . . . . . . . 1 . . 1 . 1 . . . . . . .
## [20,] . . . . . . . . . . . . . . . . . . . .
## [21,] . 1 . . . . . . . . . . . . . . . . . .
## [22,] . . . . . . . . . . 2 . . . . . . . . .
## [23,] . . . . . . . . . . . . . . . . . . . .
## [24,] . . . . . . . . . . . . . . . . 1 . . .
## [25,] . . . . . . . . . . . . . . . . . . 1 .
## [26,] . . . . . . . . . . . . . . . . 1 . . .
## [27,] . . . . 1 . . 1 . . . . . . . 1 . . . .
## [28,] . . . . . . . 1 . . 1 . 1 . . . . . . .
## [29,] . . . . 1 . 1 1 . . . . . . . . . . . .
## [30,] . . . . . . . . . . . 1 . . . . 2 . . .
## [31,] . 1 . . 4 2 1 1 1 3 2 3 3 . 4 7 1 . 3 .
## [32,] 3 1 4 1 . 1 . 1 . . 2 1 . 1 1 3 . . 5 .
## [33,] 5 2 2 1 . 1 1 1 . 4 1 1 2 3 . 2 58 1 1 .
## [34,] 7 2 1 1 3 1 1 1 . . 1 3 1 2 1 . . 2 3 .
## [35,] 1 4 1 . . . . 1 2 1 1 . 1 . . 1 . 1 . 10
## [36,] . 1 2 . 1 . 1 . 1 2 1 2 3 . . 3 1 3 . .
## [37,] 3 . 3 1 7 1 2 1 1 3 3 2 1 . 4 3 . 2 1 .
## [38,] 1 2 2 . 4 . 2 . 1 . . . 2 . 2 5 2 1 2 1
## [39,] . 1 2 1 . 1 1 1 . 1 3 1 1 1 1 . 1 2 . .
## [40,] 2 3 6 51 3 1 . 25 3 . 1 1 2 2 2 1 . 1 2 1
## [41,] 6 1 2 . 1 1 1 1 . . . 2 . . . . . . 3 .
## [42,] . . 1 . . . . . . . 1 1 2 1 1 2 1 1 . .
## [43,] . . . . . . 1 . . . 2 . . . . 1 . . . .
## [44,] . . . . . . . . . . . . . . . 1 . 1 . .
## [45,] . . 1 1 . . . . . . . . . . . . . . . .
## [46,] . . . . . . . . . . 1 . . . . 2 . . . .
## [47,] 10 1 3 . . . . . . . . 1 . . . 2 1 1 3 .
## [48,] . 1 2 . . . . . 1 . . . 1 . . . . 2 1 .
## [49,] 9 . . . . . 1 . . . . 1 . 1 . 1 . . 3 .
## [50,] . . 1 . . . . . . . . . . . 1 1 . 1 . .
## [51,] . . . . 1 . . 2 . . . . . . . . . . . .
## [52,] . . . . . . . . . 1 . . . . . . 1 1 . .
## [53,] . . . . . . . 1 . . . . . . . . . . . .
## [54,] . . . . 1 . . . . . . . . . . . . . . .
## [55,] . . . . . 1 . . . . . . 1 . . 2 2 . . .
## [56,] . . . . . . . 3 . . . . . . . . . . . .
## [57,] . . . . . . . 2 . . . . . . . . 1 . . .
## [58,] . . . . . . . 1 . . . . . . . . . . . .
## [59,] . . . . 1 . . . . . . . . . . . . . . .
## [60,] . . . . 1 . . . . . . . . . . . . 3 . .
## [61,] . 1 1 . . . . 1 . . . . . . 1 . 2 . 1 .
## [62,] . . . . . . . . . . . . . . . 1 . . 1 .
## [63,] . . . . . . . 1 . . . . . . . . . . . .
## [64,] . 1 . . 1 . . 1 . . . . . . . . . . . .
## [65,] . . . . 3 . . 1 . . 1 . 1 . . 2 4 . . .
## [66,] . . . . 2 . . 2 . . 1 . 1 . . 1 2 . . .
## [67,] . 2 . . . . . 4 . . . . . . 1 1 1 1 . .
## [68,] . . . . . . . 1 . . . . . . . . . . 1 .
## [69,] . . . . 1 . . . . . . . 1 . . . 3 . . .
## [70,] . . . . . . . . . . 1 . . . . . 1 . . .
## [71,] . . . . . . . . . . . . . . . . . . . .
## [72,] . . . . . . . . . . . . . . . . . . . .
## [73,] . . . . . . . . . . . . . . . 1 . . . .
## [74,] . . . . . . . . . . . . . . 2 . . . . .
## [75,] . . . . . . . . . . . . . . . . . . . .
## [76,] . . . 1 . . . 1 . . . . . . . 1 . 1 . .
## [77,] . . . . . . . . . . . . . . . . . . . .
## [78,] . . . . . . . . . . . . . . . . . . . .
## [79,] . . . . . . . . . . . . . . . . . . . .
## [80,] . . . . . . . . . . 1 . . . . . . . . .
Slicing
Just as with a SOMADataFrame
, we can also retrieve
subsets of the data from a SOMASparseNDArray
that can fit
in memory.
Unlike SOMADataFrame
s, SOMASparseNDArray
s
are always indexed using a zero-based offset integer on each dimension,
named soma_dim_N
. Therefore, if the array is
N
-dimensional, the read()
method can accept a
list of length N
that specifies how to slice the array.
SOMASparseNDArray
dimensions are always named
soma_dim_N
where N
is the dimension number. As
before you could use schema()
or dimnames()
to
retrieve the dimension names.
counts$schema()
## Schema
## soma_dim_0: int64 not null
## soma_dim_1: int64 not null
## soma_data: double not null
For example, here’s how to fetch the first 5 rows of the matrix:
counts$read(coords = list(soma_dim_0 = 0:4))$tables()$concat()
## Table
## 258 rows x 3 columns
## $soma_dim_0 <int64 not null>
## $soma_dim_1 <int64 not null>
## $soma_data <double not null>