
Calculate visits with no feed available per animal per day
Source:R/non_nutritive_visits.R
calculate_no_feed_visits.RdCalculates the number of visits for each animal on each day when there was no feed available (start weight less than or equal to calibration error and intake less than or equal to calibration error).
Usage
calculate_no_feed_visits(
data,
cfg = qc_config(),
sort = 0,
id_col = id_col2(),
intake_col = intake_col2(),
start_weight_col = start_weight_col2()
)Arguments
- data
A named list of daily data frames (one per day), each containing visit-level data.
- cfg
A configuration list created by
qc_config().- sort
Numeric. How to sort results by visit frequency:
0(default) - no sorting1- ascending (lowest to highest)-1- descending (highest to lowest)
- id_col
Animal ID column name (default current global value from
id_col2())- intake_col
Intake column name (default current global value from
intake_col2())- start_weight_col
Start weight column name (default current global value from
start_weight_col2())
Value
A named list of data frames, one per day, each containing columns
for animal ID and the count of visits with no feed available. If sort
is specified, results are sorted by the visit count column.
Examples
toy_data <- list(
"2023-01-01" = data.frame(
cow = c("1", "2", "3", "1"),
intake = c(0.2, 0.3, 0.4, 0.0),
start_weight = c(0.3, 0.2, 0.1, 0.4)
)
)
cfg <- qc_config(calibration_error = 0.5)
# No sorting (default)
result <- calculate_no_feed_visits(toy_data, cfg = cfg)
result[[1]]
#> # A tibble: 3 × 2
#> cow number_of_visits_when_no_feed
#> <chr> <int>
#> 1 1 2
#> 2 2 1
#> 3 3 1
# Sort descending (highest to lowest)
result_desc <- calculate_no_feed_visits(toy_data, cfg = cfg, sort = -1)
result_desc[[1]]
#> # A tibble: 3 × 2
#> cow number_of_visits_when_no_feed
#> <chr> <int>
#> 1 1 2
#> 2 2 1
#> 3 3 1