The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The following examples use the following table_string helper to succintly define tables:
# Convert a string into a data.frame
table_string <- function (text, ...) read.table(
text = text,
blank.lines.skip = TRUE,
header = TRUE,
stringsAsFactors = FALSE,
...)
Firstly, connect to a database and set up some areas/divisions:
mdb <- mfdb(tempfile(fileext = '.duckdb'))
mfdb_import_area(mdb, table_string('
name division size
45G01 divA 10
45G02 divA 200
45G03 divB 400
'))
Normally when using mfdb_import_survey
you supply count
, length
, weight
columns. But other lenghts can also be supplied:
mfdb_import_survey(mdb, data_source = "x",
table_string('
year month areacell species length age weight liver_weight gonad_weight stomach_weight
2000 1 45G01 COD 21 2 210 93 82 72
2000 1 45G02 COD 34 3 220 28 93 99
2000 1 45G03 COD 44 4 230 93 85 72
'))
To get any additional weights back when querying, you need to supply measurements, for example:
agg_data <- mfdb_sample_totalweight(mdb, c('age'), list(
age = mfdb_unaggregated(),
null = NULL), measurements = c('overall', 'liver', 'gonad', 'stomach'))
agg_data
## $`0.0.0.0`
## year step area age total_weight total_liver_weight total_gonad_weight
## 1 all all all 2 210 93 82
## 2 all all all 3 220 28 93
## 3 all all all 4 230 93 85
## total_stomach_weight
## 1 72
## 2 99
## 3 72
Single measurements are also possible:
agg_data <- mfdb_sample_totalweight(mdb, c('age'), list(
age = mfdb_unaggregated(),
null = NULL), measurements = c('stomach'))
agg_data
## $`0.0.0.0`
## year step area age total_stomach_weight
## 1 all all all 2 72
## 2 all all all 3 99
## 3 all all all 4 72
We can also use mfdb_sample_meanweight
to aggregate:
agg_data <- mfdb_sample_meanweight(mdb, c('age'), list(
null = NULL), measurements = c('liver', 'stomach'))
agg_data
## $`0.0.0.0`
## year step area age number mean_liver_weight mean_stomach_weight
## 1 all all all all 3 71.33333 81
As well as mfdb_sample_meanweight_stddev
:
agg_data <- mfdb_sample_meanweight_stddev(mdb, c('age'), list(
null = NULL), measurements = c('overall', 'gonad'))
agg_data
## $`0.0.0.0`
## year step area age number mean mean_gonad_weight stddev stddev_gonad_weight
## 1 all all all all 3 220 86.66667 10 5.686241
mfdb_disconnect(mdb)
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.