[.neuronlistfh extracts either a sublist from a neuronlistfh (converting it to a regular in memory list in the process) or its attached data.frame.

# S3 method for neuronlistfh
[(x, i, j, drop)

Arguments

x

A neuronlistfh object

i, j

elements to extract or replace. Numeric, logical or character or, for the [ get method, empty. See details and the help for [.data.frame.

drop

logical. If TRUE the result is coerced to the lowest possible dimension. The default is to drop if only one column is left, but not to drop if only one row is left.

Value

A new in-memory neuronlist or when using two subscripts, a data.frame - see examples.

Details

Note that if i is a numeric or logical indexing vector, it will be converted internally to a vector of names by using the (sorted) names of the objects in x (i.e. names(x)[i])

See also

Examples

# make a test neuronlistfh backed by a temporary folder on disk tf=tempfile('kcs20fh') kcs20fh<-as.neuronlistfh(kcs20, dbdir=tf) # get first neurons as an in memory neuronlist class(kcs20fh[1:3])
#> [1] "neuronlist" "list"
# extract attached data.frame str(kcs20fh[,])
#> 'data.frame': 20 obs. of 14 variables: #> $ gene_name: chr "FruMARCM-M001205_seg002" "GadMARCM-F000122_seg001" "GadMARCM-F000050_seg001" "GadMARCM-F000142_seg002" ... #> $ Name : chr "fru-M-500112" "Gad1-F-900005" "Gad1-F-100010" "Gad1-F-300043" ... #> $ idid : num 1024 10616 8399 10647 9758 ... #> $ soma_side: Factor w/ 3 levels "L","M","R": 1 1 3 1 1 3 3 3 3 3 ... #> $ flipped : logi FALSE FALSE TRUE FALSE FALSE TRUE ... #> $ Driver : chr "fru-Gal4" "Gad1-Gal4" "Gad1-Gal4" "Gad1-Gal4" ... #> $ Gender : chr "M" "F" "F" "F" ... #> $ X : num 361 368 383 350 388 ... #> $ Y : num 95 105.9 61.7 78.2 114.8 ... #> $ Z : num 84.1 94.7 97.3 96.7 87.8 ... #> $ exemplar : Factor w/ 96 levels "5HT1bMARCM-M000076_seg001",..: 60 78 76 79 41 45 59 82 6 63 ... #> $ cluster : int 9 70 57 71 64 44 16 61 52 12 ... #> $ idx : int 156 1519 1132 1535 1331 795 268 1265 898 190 ... #> $ type : Factor w/ 3 levels "ab","apbp","gamma": 3 3 1 2 1 1 1 2 2 1 ...
# or part of the data.frame str(kcs20fh[1:2,1:3])
#> 'data.frame': 2 obs. of 3 variables: #> $ gene_name: chr "FruMARCM-M001205_seg002" "GadMARCM-F000122_seg001" #> $ Name : chr "fru-M-500112" "Gad1-F-900005" #> $ idid : num 1024 10616
# data.frame assignment (this one changes nothing) kcs20fh[1:2,'gene_name'] <- kcs20fh[1:2,'gene_name'] # clean up unlink(tf, recursive=TRUE)