跳转至

表格与警报

所有日表都有一个共同点:窗口内每个单位每天都有一行,没有访问的日子也在,计数为 0、其他列为空。停机的测定站、不吃料的猪因此不会从表里“消失”。

列名的后缀就是单位:_kg 千克、_h 小时、_min 分钟、pct_ 百分比、n_ 计数。

测定站:stations

列 含义
location、date 测定站、日期
n_pigs 当天有识别访问的猪数
n_visits 全部访问次数(含未识别)
n_unidentified、pct_unidentified 未读到耳标的访问次数和百分比
occupation_h 测定站被占用的总时间,小时
feed_kg 全部访问的采食量,kg
feed_per_pig_kg 识别访问的采食量 ÷ n_pigs
weight_kg 每头猪当天体重中位数(去掉异常值)的平均
pct_weight_outlier 体重异常值的百分比:同一头猪同一天的体重中,超出四分位数 ± iqr_k × 四分位距(Tukey fences)的记录;少于 4 次称重时不判异常

列出的测定站是窗口内或窗口前 14 天内有访问的测定站:停止记录的测定站会显示两周(并报警),早已撤出测定的不再列出。

栋:houses

栋由测定站编号的前 house_width 个字符决定。列:house、date、n_stations、n_pigs、n_visits、feed_kg、feed_per_pig_kg、weight_kg。

猪:pigs 和 pig_summary

pigs 每头猪每天一行,从这头猪第一次出现(或窗口开始)到最后一天:

列 含义
location 窗口内这头猪访问最多的测定站
n_visits、feed_kg、occupation_min 当天访问次数、采食量、占用时间(分钟)
weight_kg 当天体重的中位数
status no_visit(无访问)、low_feed(低于 low_feed_kg)或 ok

pig_summary 每头猪一行:days、no_visit_days、low_feed_days、mean_feed_kg(无访问的日子按 0 计)、last_feed_kg、last_visits、last_weight_kg、days_since_visit、status(最后一天)。

每小时:hours

最后一天每台测定站 0–23 时每小时一行:n_pigs、n_visits、occupation_min、feed_kg。小时按进站时间计。

警报:alerts

type level 条件(默认参数)
station_down danger 测定站一整天没有任何访问
unidentified warning 未识别访问超过 max_unidentified_pct = 5%
feed_drop warning 测定站采食量比窗口内前几天的平均低 max_feed_drop_pct = 30% 以上
pig_no_visit danger 窗口内出现过的猪当天没有访问
pig_low_feed warning 猪当天采食量低于 low_feed_kg = 0.5 kg

停机测定站上的猪不再逐头报警,由 station_down 一条警报说明(括号里是受影响的猪数)。列:level、type、location、responder(猪只警报)、value(触发的数值)、message。

Excel 工作簿

write_monitor_tables(mon, path) 写出 monitor.xlsx。长表原样写出;宽表加三色色阶,红色表示可能有问题。

工作表 内容 红色表示
Alerts 警报
Stations、Houses、Pigs、Pig days 长表(Pigs 是 pig_summary,Pig days 是 pigs)
Visits 每站每天访问次数 偏低
Unidentified pct 未识别访问 % 偏高
Feed kg、Feed per pig kg 采食量、头均采食量 偏低
Occupation h 占用时间 偏低
Weight outliers pct 体重异常值 % 偏高
House feed per pig kg 每栋头均采食量 偏低
House weight kg 每栋平均体重 (蓝色色阶)
Pig feed kg 每头猪每天采食量 偏低
Hours visits、Hours feed kg 最后一天每小时 (蓝色色阶)

format="csv" 则写出 6 个 CSV 文件(monitor_alerts.csv 等),带 BOM,Excel 直接打开不乱码。