Because all studies included if not exclusively studied growout
farms, we relied on recommendations for juveniles and adults raised for
consumption, rather than for larvae, paralarvae, or breeders.
Some datasets provide only the sample size of farms, the average
value for a given water quality parameter, and its standard deviation.
We created functions to sample from the normal distribution using this
information in order to generate datasets that we could analyze.
There is no straightforward way to provide a summary of results from
these studies because of their differing methodologies. In particular
there were:
Dissolved Oxygen
Dissolved oxygen can be reported in terms of parts per million (ppm)
(or, equivalently, mg L-1), or its level of saturation in water.
However, calculating saturation requires knowing the water’s temperature
and salinity, which in many cases we did not have access to individual
farms. Hargreaves and Boyd (2022, p. 211)
explain that ppm is less informative but more practical than reporting
percentage saturation: “Shrimp actually respond to the partial pressure
of oxygen in water rather than the weight/volume concentration in
milligrams per liter. In reality, percentage saturation would be the
best way of assessing dissolved oxygen concentrations in aquaculture.
However, farmers are more familiar with concentration (mg/l), and great
confusion would result form use of percentage saturation.”
Hargreaves and Boyd (p. 218) argue that DO levels of 4-6 ppm lead to
“maximum respiration rate; greatest scope for growth.” Reduced survival
apparently only occurs at levels less than 2 ppm, but sublethal issues
of increasing intensity begin at levels lower than 3.5 ppm. Thus, we we
regard levels at least 4 ppm optimal (to our knowledge, there is no
benefit or harm of especially high DO levels), and the sub-optimal range
as 2-3.9.
#Count of measurements within Optimal range
optimal_do<- function(n, mean, sd) {
set.seed(124) #set seed for replicability
do_dist<-rnorm(n = n, mean = mean, sd = sd)
do_optimal<-sum(do_dist>= 4)
return(do_optimal)
}
#Count of Measurements within Suboptimal Range
suboptimal_do<- function(n, mean, sd) {
set.seed(124) #set seed for replicability
do_dist<-rnorm(n = n, mean = mean, sd = sd)
do_suboptimal<-sum(do_dist>= 2 & do_dist < 4)
return(do_suboptimal)
}
Optimal
Now we estimate what percentage of farms comply with optimal DO
standards.
###Boyd
#For simplicity, we assume that none of the farms in the 3-4 ppm category actually have exactly 4 ppm DO. Thus, only farms with >4 ppm DO fall within the optimum range
lindrazba_do_opt_meta<-metaprop(event = c((lindrazba_do["More than 4","farms_west"]+lindrazba_do["More than 4","farms_east"])), n = c((sum(lindrazba_do$farms_west)+sum(lindrazba_do$farms_east))))
lindrazba.opt.est<- plogis(c(lindrazba_do_opt_meta$TE.random ,lindrazba_do_opt_meta$lower.random,lindrazba_do_opt_meta$upper.random))
lindrazba_do_opt<-data.frame(Study = "Lin & Drazba (2006)",
Proportion = lindrazba.opt.est[1],
Lower_Limit = lindrazba.opt.est[2],
Upper_limit = lindrazba.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Mixed")
###Venka
do_opt_guntar<-optimal_do(n = venka["Guntar", "SampleSize"],mean = venka["Guntar", "DOm"], sd = venka["Guntar", "DOsd"] )
do_opt_krishna<-optimal_do(n = venka["Krishna", "SampleSize"],mean = venka["Krishna", "DOm"], sd = venka["Krishna", "DOsd"] )
do_opt_westgodavari<-optimal_do(n = venka["WestGodavari", "SampleSize"],mean = venka["WestGodavari", "DOm"], sd = venka["WestGodavari", "DOsd"] )
do_opt_eastgodavari<-optimal_do(n = venka["EastGodavari", "SampleSize"],mean = venka["EastGodavari", "DOm"], sd = venka["EastGodavari", "DOsd"] )
venka_do_opt_meta<-metaprop(c(do_opt_guntar,do_opt_krishna, do_opt_westgodavari, do_opt_eastgodavari), c(venka["Guntar", "SampleSize"],venka["Krishna", "SampleSize"],venka["WestGodavari", "SampleSize"],venka["EastGodavari", "SampleSize"]), method = "Inverse")
venka.opt.est<- plogis(c(venka_do_opt_meta$TE.random ,venka_do_opt_meta$lower.random,venka_do_opt_meta$upper.random))
venka_do_opt<-data.frame(Study = "Venkateswarlu et al. (2019)",
Proportion = venka.opt.est[1],
Lower_Limit = venka.opt.est[2],
Upper_limit = venka.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
###Hukom
##P. vannamei
do_opt_tv<-optimal_do(n = hukom["TradVannamei", "SampleSize"],mean = hukom["TradVannamei", "DOm"], sd = hukom["TradVannamei", "DOsd"] )
do_opt_tpv<-optimal_do(n = hukom["TradPlusVannamei", "SampleSize"],mean = hukom["TradPlusVannamei", "DOm"], sd = hukom["TradPlusVannamei", "DOsd"] )
##P. Monodon
do_opt_tp<-optimal_do(n = hukom["TradMonodon", "SampleSize"],mean = hukom["TradMonodon", "DOm"], sd = hukom["TradMonodon", "DOsd"] )
do_opt_tpp<-optimal_do(n = hukom["TradPlusMonodon", "SampleSize"],mean = hukom["TradPlusMonodon", "DOm"], sd = hukom["TradPlusMonodon", "DOsd"] )
hukom_do_opt_meta<-metaprop(c(do_opt_tv,do_opt_tpv,do_opt_tp,do_opt_tpp), c(hukom["TradVannamei", "SampleSize"],hukom["TradPlusVannamei", "SampleSize"],hukom["TradMonodon", "SampleSize"],hukom["TradPlusMonodon", "SampleSize"]), method = "Inverse")
hukom.opt.est<- plogis(c(hukom_do_opt_meta$TE.random,hukom_do_opt_meta$lower.random,hukom_do_opt_meta$upper.random))
hukom_do_opt<-data.frame(Study = "Hukom et al. (2020)",
Proportion = hukom.opt.est[1],
Lower_Limit = hukom.opt.est[2],
Upper_limit = hukom.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Extensive")
###Chowdhury
do_opt_shrimprice_chowdhury<-optimal_do(chowdhury["Shrimp-Rice","SampleSize"], chowdhury["Shrimp-Rice","DOm"], chowdhury["Shrimp-Rice","DOsd"])
do_opt_shrimponly_chowdhury<-optimal_do(chowdhury["Shrimp-Only","SampleSize"], chowdhury["Shrimp-Only","DOm"], chowdhury["Shrimp-Only","DOsd"])
chowdhury_do_opt_meta<-metaprop(c(do_opt_shrimprice_chowdhury,do_opt_shrimponly_chowdhury), c(chowdhury["Shrimp-Rice","SampleSize"],chowdhury["Shrimp-Only","SampleSize"]), method = "Inverse")
chowdhury.opt.est<- plogis(c(chowdhury_do_opt_meta$TE.random,chowdhury_do_opt_meta$lower.random,chowdhury_do_opt_meta$upper.random))
chowdhury_do_opt<-data.frame(Study = "Chowdhury et al. (2011)",
Proportion = chowdhury.opt.est[1],
Lower_Limit = chowdhury.opt.est[2],
Upper_limit = chowdhury.opt.est[3],
Range = "Optimal",
Species = "P. Monodon",
Farm_Type = "Extensive")
###Sivraman's optimal DO percentage is already computed in the original survey data
sivraman_do_opt_meta<-metaprop(sivaraman$do_opt, sivaraman$sample, method = "Inverse")
sivraman.opt.est<- plogis(c(sivraman_do_opt_meta$TE.random,sivraman_do_opt_meta$lower.random,sivraman_do_opt_meta$upper.random))
sivraman_do_opt<-data.frame(Study = "Sivaraman et al. (2019)",
Proportion = sivraman.opt.est[1],
Lower_Limit = sivraman.opt.est[2],
Upper_limit = sivraman.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Mixed")
###Supriatna
do_opt_pond1_supriatna<-optimal_do(supriatna["Pond 1","SampleSize"],supriatna["Pond 1","DOm"],supriatna["Pond 1","DOsd"])
do_opt_pond2_supriatna<-optimal_do(supriatna["Pond 2","SampleSize"],supriatna["Pond 2","DOm"],supriatna["Pond 2","DOsd"])
do_opt_pond3_supriatna<-optimal_do(supriatna["Pond 3","SampleSize"],supriatna["Pond 3","DOm"],supriatna["Pond 3","DOsd"])
do_opt_pond4_supriatna<-optimal_do(supriatna["Pond 4","SampleSize"],supriatna["Pond 4","DOm"],supriatna["Pond 4","DOsd"])
do_opt_pond5_supriatna<-optimal_do(supriatna["Pond 5","SampleSize"],supriatna["Pond 5","DOm"],supriatna["Pond 5","DOsd"])
do_opt_pond6_supriatna<-optimal_do(supriatna["Pond 6","SampleSize"],supriatna["Pond 6","DOm"],supriatna["Pond 6","DOsd"])
do_opt_pond7_supriatna<-optimal_do(supriatna["Pond 7","SampleSize"],supriatna["Pond 7","DOm"],supriatna["Pond 7","DOsd"])
do_opt_pond8_supriatna<-optimal_do(supriatna["Pond 8","SampleSize"],supriatna["Pond 8","DOm"],supriatna["Pond 8","DOsd"])
supriatna_do_opt_meta<-metaprop(c(do_opt_pond1_supriatna,do_opt_pond2_supriatna,do_opt_pond3_supriatna,
do_opt_pond4_supriatna,do_opt_pond5_supriatna,do_opt_pond6_supriatna,
do_opt_pond7_supriatna,do_opt_pond8_supriatna),
c(supriatna["Pond 1","SampleSize"], supriatna["Pond 2","SampleSize"],supriatna["Pond 3","SampleSize"],supriatna["Pond 4","SampleSize"],
supriatna["Pond 5","SampleSize"],supriatna["Pond 6","SampleSize"],supriatna["Pond 7","SampleSize"],supriatna["Pond 8","SampleSize"]), method = "Inverse")
supriatna.opt.est<- plogis(c(supriatna_do_opt_meta$TE.random,supriatna_do_opt_meta$lower.random,supriatna_do_opt_meta$upper.random))
supriatna_do_opt<-data.frame(Study = "Supriatna et al. (2017)",
Proportion = supriatna.opt.est[1],
Lower_Limit = supriatna.opt.est[2],
Upper_limit = supriatna.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Intensive")
###SWP
#India
swpi_do_opt_meta<-metaprop(sum(SWP_India$DO >= 4), length(SWP_India$DO), method = "Inverse")
swpi.opt.est<- plogis(c(swpi_do_opt_meta$TE.random,swpi_do_opt_meta$lower.random,swpi_do_opt_meta$upper.random))
swpi_do_opt<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.opt.est[1],
Lower_Limit = swpi.opt.est[2],
Upper_limit = swpi.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive") #There was one intensive farm, but only 1 out of 20 so it seems more accurate to call this semi-intensive rather than mixed.
#Vietnam
swpv_do_opt_meta<-metaprop(c(sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "DO"] >= 4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "DO"] >= 4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "DO"] >= 4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "DO"] >= 4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "DO"] >= 4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "DO"] >= 4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "DO"] >= 4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "DO"] >= 4)),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.opt.est<- plogis(c(swpv_do_opt_meta$TE.random,swpv_do_opt_meta$lower.random,swpv_do_opt_meta$upper.random))
swpv_do_opt<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.opt.est[1],
Lower_Limit = swpv.opt.est[2],
Upper_limit = swpv.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Mixed")
Suboptimal
Next, we compute what percentage of farms have suboptimal DO
levels.
###Boyd
#mean
lindrazba_do_sub_meta<-metaprop(event = c((lindrazba_do["3-4","farms_west"] + lindrazba_do["2-3","farms_west"]+lindrazba_do["3-4","farms_east"] + lindrazba_do["2-3","farms_east"])), n = c((sum(lindrazba_do$farms_west)+sum(lindrazba_do$farms_east))))
boyd.sub.est<- plogis(c(lindrazba_do_sub_meta$TE.random ,lindrazba_do_sub_meta$lower.random,lindrazba_do_sub_meta$upper.random))
lindrazba_do_sub<-data.frame(Study = "Lin & Drazba (2006)",
Proportion = boyd.sub.est[1],
Lower_Limit = boyd.sub.est[2],
Upper_limit = boyd.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Mixed")
###Venka
do_sub_guntar<-suboptimal_do(n = venka["Guntar", "SampleSize"],mean = venka["Guntar", "DOm"], sd = venka["Guntar", "DOsd"] )
do_sub_krishna<-suboptimal_do(n = venka["Krishna", "SampleSize"],mean = venka["Krishna", "DOm"], sd = venka["Krishna", "DOsd"] )
do_sub_westgodavari<-suboptimal_do(n = venka["WestGodavari", "SampleSize"],mean = venka["WestGodavari", "DOm"], sd = venka["WestGodavari", "DOsd"] )
do_sub_eastgodavari<-suboptimal_do(n = venka["EastGodavari", "SampleSize"],mean = venka["EastGodavari", "DOm"], sd = venka["EastGodavari", "DOsd"] )
venka_do_sub_meta<-metaprop(c(do_sub_guntar,do_sub_krishna, do_sub_westgodavari, do_sub_eastgodavari), c(venka["Guntar", "SampleSize"],venka["Krishna", "SampleSize"],venka["WestGodavari", "SampleSize"],venka["EastGodavari", "SampleSize"]), method = "Inverse")
venka.sub.est<- plogis(c(venka_do_sub_meta$TE.random ,venka_do_sub_meta$lower.random,venka_do_sub_meta$upper.random))
venka_do_sub<-data.frame(Study = "Venkateswarlu et al. (2019)",
Proportion = venka.sub.est[1],
Lower_Limit = venka.sub.est[2],
Upper_limit = venka.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
###Hukom
##P. vannamei
do_sub_tv<-suboptimal_do(n = hukom["TradVannamei", "SampleSize"],mean = hukom["TradVannamei", "DOm"], sd = hukom["TradVannamei", "DOsd"] )
do_sub_tpv<-suboptimal_do(n = hukom["TradPlusVannamei", "SampleSize"],mean = hukom["TradPlusVannamei", "DOm"], sd = hukom["TradPlusVannamei", "DOsd"] )
##P. Monodon
do_sub_tp<-suboptimal_do(n = hukom["TradMonodon", "SampleSize"],mean = hukom["TradMonodon", "DOm"], sd = hukom["TradMonodon", "DOsd"] )
do_sub_tpp<-suboptimal_do(n = hukom["TradPlusMonodon", "SampleSize"],mean = hukom["TradPlusMonodon", "DOm"], sd = hukom["TradPlusMonodon", "DOsd"] )
hukom_do_sub_meta<-metaprop(c(do_sub_tv,do_sub_tpv,do_sub_tp,do_sub_tpp), c(hukom["TradVannamei", "SampleSize"],hukom["TradPlusVannamei", "SampleSize"],hukom["TradMonodon", "SampleSize"],hukom["TradPlusMonodon", "SampleSize"]), method = "Inverse")
hukom.sub.est<- plogis(c(hukom_do_sub_meta$TE.random,hukom_do_sub_meta$lower.random,hukom_do_sub_meta$upper.random))
hukom_do_sub<-data.frame(Study = "Hukom et al. (2020)",
Proportion = hukom.sub.est[1],
Lower_Limit = hukom.sub.est[2],
Upper_limit = hukom.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Extensive")
###Chowdhury
do_sub_shrimprice_chowdhury<-suboptimal_do(chowdhury["Shrimp-Rice","SampleSize"], chowdhury["Shrimp-Rice","DOm"], chowdhury["Shrimp-Rice","DOsd"])
do_sub_shrimponly_chowdhury<-suboptimal_do(chowdhury["Shrimp-Only","SampleSize"], chowdhury["Shrimp-Only","DOm"], chowdhury["Shrimp-Only","DOsd"])
chowdhury_do_sub_meta<-metaprop(c(do_sub_shrimprice_chowdhury,do_sub_shrimponly_chowdhury), c(chowdhury["Shrimp-Rice","SampleSize"],chowdhury["Shrimp-Only","SampleSize"]), method = "Inverse")
chowdhury.sub.est<- plogis(c(chowdhury_do_sub_meta$TE.random,chowdhury_do_sub_meta$lower.random,chowdhury_do_sub_meta$upper.random))
chowdhury_do_sub<-data.frame(Study = "Chowdhury et al. (2011)",
Proportion = chowdhury.sub.est[1],
Lower_Limit = chowdhury.sub.est[2],
Upper_limit = chowdhury.sub.est[3],
Range = "Suboptimal",
Species = "P. Monodon",
Farm_Type = "Extensive")
###Sivraman's suboptimal DO percentage is not in the data.
###Supriatna
do_sub_pond1_supriatna<-suboptimal_do(supriatna["Pond 1","SampleSize"],supriatna["Pond 1","DOm"],supriatna["Pond 1","DOsd"])
do_sub_pond2_supriatna<-suboptimal_do(supriatna["Pond 2","SampleSize"],supriatna["Pond 2","DOm"],supriatna["Pond 2","DOsd"])
do_sub_pond3_supriatna<-suboptimal_do(supriatna["Pond 3","SampleSize"],supriatna["Pond 3","DOm"],supriatna["Pond 3","DOsd"])
do_sub_pond4_supriatna<-suboptimal_do(supriatna["Pond 4","SampleSize"],supriatna["Pond 4","DOm"],supriatna["Pond 4","DOsd"])
do_sub_pond5_supriatna<-suboptimal_do(supriatna["Pond 5","SampleSize"],supriatna["Pond 5","DOm"],supriatna["Pond 5","DOsd"])
do_sub_pond6_supriatna<-suboptimal_do(supriatna["Pond 6","SampleSize"],supriatna["Pond 6","DOm"],supriatna["Pond 6","DOsd"])
do_sub_pond7_supriatna<-suboptimal_do(supriatna["Pond 7","SampleSize"],supriatna["Pond 7","DOm"],supriatna["Pond 7","DOsd"])
do_sub_pond8_supriatna<-suboptimal_do(supriatna["Pond 8","SampleSize"],supriatna["Pond 8","DOm"],supriatna["Pond 8","DOsd"])
supriatna_do_sub_meta<-metaprop(c(do_sub_pond1_supriatna,do_sub_pond2_supriatna,do_sub_pond3_supriatna,
do_sub_pond4_supriatna,do_sub_pond5_supriatna,do_sub_pond6_supriatna,
do_sub_pond7_supriatna,do_sub_pond8_supriatna),
c(supriatna["Pond 1","SampleSize"], supriatna["Pond 2","SampleSize"],supriatna["Pond 3","SampleSize"],supriatna["Pond 4","SampleSize"],
supriatna["Pond 5","SampleSize"],supriatna["Pond 6","SampleSize"],supriatna["Pond 7","SampleSize"],supriatna["Pond 8","SampleSize"]), method = "Inverse")
supriatna.sub.est<- plogis(c(supriatna_do_sub_meta$TE.random,supriatna_do_sub_meta$lower.random,supriatna_do_sub_meta$upper.random))
supriatna_do_sub<-data.frame(Study = "Supriatna et al. (2017)",
Proportion = supriatna.sub.est[1],
Lower_Limit = supriatna.sub.est[2],
Upper_limit = supriatna.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Intensive")
###SWP
#India
swpi_do_sub_meta<-metaprop(sum(SWP_India$DO >= 2 & SWP_India$DO < 4), length(SWP_India$DO), method = "Inverse")
swpi.sub.est<- plogis(c(swpi_do_sub_meta$TE.random,swpi_do_sub_meta$lower.random,swpi_do_sub_meta$upper.random))
swpi_do_sub<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.sub.est[1],
Lower_Limit = swpi.sub.est[2],
Upper_limit = swpi.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
#Vietnam
#calculate compliance percentage at pond level first
do_sub_swp_v_1<-sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "DO"] <4)/length(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "DO"])
do_sub_swp_v_3<-sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "DO"] <4)/length(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "DO"])
do_sub_swp_v_5<-sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "DO"] <4)/length(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "DO"])
do_sub_swp_v_7<-sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "DO"] <4)/length(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "DO"])
do_sub_swp_v_8<-sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "DO"] <4)/length(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "DO"])
do_sub_swp_v_9<-sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "DO"] <4)/length(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "DO"])
do_sub_swp_v_10<-sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "DO"] <4)/length(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "DO"])
do_sub_swp_v_11<-sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "DO"] <4)/length(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "DO"])
swpv_do_sub_meta<-metaprop(c(sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "DO"] <4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "DO"] <4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "DO"] <4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "DO"] <4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "DO"] <4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "DO"] <4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "DO"] <4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "DO"] >= 2 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "DO"] <4)),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.sub.est<- plogis(c(swpv_do_sub_meta$TE.random,swpv_do_sub_meta$lower.random,swpv_do_sub_meta$upper.random))
swpv_do_sub<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.sub.est[1],
Lower_Limit = swpv.sub.est[2],
Upper_limit = swpv.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Mixed")
Summary Table
DO_Summary<-data.frame(rbind(lindrazba_do_opt,lindrazba_do_sub,venka_do_opt,venka_do_sub,hukom_do_opt,hukom_do_sub,
chowdhury_do_opt,chowdhury_do_sub,sivraman_do_opt,supriatna_do_opt,supriatna_do_sub,
swpi_do_opt,swpi_do_sub,swpv_do_opt,swpv_do_sub))
DO_Summary$Percentage<-round(DO_Summary$Proportion*100,2)
DO_Summary$Lower.Percentage<-round(DO_Summary$Lower_Limit*100,2)
DO_Summary$Upper.Percentage<-round(DO_Summary$Upper_limit*100,2)
DO_Summary
pH
For P. vannamei, 6.5-8.5 is the optimal pH range, and
5.0-6.4 or 8.6-9.0 are the suboptimal ranges (See Table 11 of Pedrazzani
et al., 2023). P. Monodon are possibly more sensitive to
small deviations (Hsieh et al. 2021;
Noor-Hamid et
al., 1994, but we did not have enough confidence in species-specific
guidelines to use a different optimal range.
optimal_ph<- function(n, mean, sd) {
set.seed(124)
ph_dist<-rnorm(n = n, mean = mean, sd = sd)
ph_optimal<-sum(ph_dist>= 6.5 & ph_dist<= 8.5)
return(ph_optimal)
}
suboptimal_ph<- function(n, mean, sd) {
set.seed(124)
ph_dist<-rnorm(n = n, mean = mean, sd = sd)
ph_suboptimal<-sum((ph_dist>= 5.0 & ph_dist< 6.5)| (ph_dist> 8.5 & ph_dist<= 9.0))
return(ph_suboptimal)
}
Optimal
Now we calculate the prevalence of optimal pH levels.
###Venka
ph_opt_guntar<-optimal_ph(n = venka["Guntar", "SampleSize"],mean = venka["Guntar", "pHm"], sd = venka["Guntar", "pHsd"] )
ph_opt_krishna<-optimal_ph(n = venka["Krishna", "SampleSize"],mean = venka["Krishna", "pHm"], sd = venka["Krishna", "pHsd"] )
ph_opt_westgodavari<-optimal_ph(n = venka["WestGodavari", "SampleSize"],mean = venka["WestGodavari", "pHm"], sd = venka["WestGodavari", "pHsd"] )
ph_opt_eastgodavari<-optimal_ph(n = venka["EastGodavari", "SampleSize"],mean = venka["EastGodavari", "pHm"], sd = venka["EastGodavari", "pHsd"] )
venka_ph_opt_meta<-metaprop(c(ph_opt_guntar,ph_opt_krishna, ph_opt_westgodavari, ph_opt_eastgodavari), c(venka["Guntar", "SampleSize"],venka["Krishna", "SampleSize"],venka["WestGodavari", "SampleSize"],venka["EastGodavari", "SampleSize"]), method = "Inverse")
venka.opt.est<- plogis(c(venka_ph_opt_meta$TE.random ,venka_ph_opt_meta$lower.random,venka_ph_opt_meta$upper.random))
venka_ph_opt<-data.frame(Study = "Venkateswarlu et al. (2019)",
Proportion = venka.opt.est[1],
Lower_Limit = venka.opt.est[2],
Upper_limit = venka.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
###Hukom
##P. vannamei
ph_opt_tv<-optimal_ph(n = hukom["TradVannamei", "SampleSize"],mean = hukom["TradVannamei", "pHm"], sd = hukom["TradVannamei", "pHsd"] )
ph_opt_tpv<-optimal_ph(n = hukom["TradPlusVannamei", "SampleSize"],mean = hukom["TradPlusVannamei", "pHm"], sd = hukom["TradPlusVannamei", "pHsd"] )
##P. Monodon
ph_opt_tp<-optimal_ph(n = hukom["TradMonodon", "SampleSize"],mean = hukom["TradMonodon", "pHm"], sd = hukom["TradMonodon", "pHsd"] )
ph_opt_tpp<-optimal_ph(n = hukom["TradPlusMonodon", "SampleSize"],mean = hukom["TradPlusMonodon", "pHm"], sd = hukom["TradPlusMonodon", "pHsd"] )
hukom_ph_opt_meta<-metaprop(c(ph_opt_tv,ph_opt_tpv,ph_opt_tp,ph_opt_tpp), c(hukom["TradVannamei", "SampleSize"],hukom["TradPlusVannamei", "SampleSize"],hukom["TradMonodon", "SampleSize"],hukom["TradPlusMonodon", "SampleSize"]), method = "Inverse")
hukom.opt.est<- plogis(c(hukom_ph_opt_meta$TE.random,hukom_ph_opt_meta$lower.random,hukom_ph_opt_meta$upper.random))
hukom_ph_opt<-data.frame(Study = "Hukom et al. (2020)",
Proportion = hukom.opt.est[1],
Lower_Limit = hukom.opt.est[2],
Upper_limit = hukom.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Extensive")
###Chowdhury
ph_opt_shrimprice_chowdhury<-optimal_ph(chowdhury["Shrimp-Rice","SampleSize"], chowdhury["Shrimp-Rice","pHm"], chowdhury["Shrimp-Rice","pHsd"])
ph_opt_shrimponly_chowdhury<-optimal_ph(chowdhury["Shrimp-Only","SampleSize"], chowdhury["Shrimp-Only","pHm"], chowdhury["Shrimp-Only","pHsd"])
chowdhury_ph_opt_meta<-metaprop(c(ph_opt_shrimprice_chowdhury,ph_opt_shrimponly_chowdhury), c(chowdhury["Shrimp-Rice","SampleSize"],chowdhury["Shrimp-Only","SampleSize"]), method = "Inverse")
chowdhury.opt.est<- plogis(c(chowdhury_ph_opt_meta$TE.random,chowdhury_ph_opt_meta$lower.random,chowdhury_ph_opt_meta$upper.random))
chowdhury_ph_opt<-data.frame(Study = "Chowdhury et al. (2011)",
Proportion = chowdhury.opt.est[1],
Lower_Limit = chowdhury.opt.est[2],
Upper_limit = chowdhury.opt.est[3],
Range = "Optimal",
Species = "P. Monodon",
Farm_Type = "Extensive")
###Sivraman's optimal DO percentage is already computed in the original survey data
sivraman_ph_opt_meta<-metaprop(sivaraman$ph_opt, sivaraman$sample, method = "Inverse")
sivraman.opt.est<- plogis(c(sivraman_ph_opt_meta$TE.random,sivraman_ph_opt_meta$lower.random,sivraman_ph_opt_meta$upper.random))
sivraman_ph_opt<-data.frame(Study = "Sivaraman et al. (2019)",
Proportion = sivraman.opt.est[1],
Lower_Limit = sivraman.opt.est[2],
Upper_limit = sivraman.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Mixed")
###Supriatna
ph_opt_pond1_supriatna<-optimal_ph(supriatna["Pond 1","SampleSize"],supriatna["Pond 1","pHm"],supriatna["Pond 1","pHsd"])
ph_opt_pond2_supriatna<-optimal_ph(supriatna["Pond 2","SampleSize"],supriatna["Pond 2","pHm"],supriatna["Pond 2","pHsd"])
ph_opt_pond3_supriatna<-optimal_ph(supriatna["Pond 3","SampleSize"],supriatna["Pond 3","pHm"],supriatna["Pond 3","pHsd"])
ph_opt_pond4_supriatna<-optimal_ph(supriatna["Pond 4","SampleSize"],supriatna["Pond 4","pHm"],supriatna["Pond 4","pHsd"])
ph_opt_pond5_supriatna<-optimal_ph(supriatna["Pond 5","SampleSize"],supriatna["Pond 5","pHm"],supriatna["Pond 5","pHsd"])
ph_opt_pond6_supriatna<-optimal_ph(supriatna["Pond 6","SampleSize"],supriatna["Pond 6","pHm"],supriatna["Pond 6","pHsd"])
ph_opt_pond7_supriatna<-optimal_ph(supriatna["Pond 7","SampleSize"],supriatna["Pond 7","pHm"],supriatna["Pond 7","pHsd"])
ph_opt_pond8_supriatna<-optimal_ph(supriatna["Pond 8","SampleSize"],supriatna["Pond 8","pHm"],supriatna["Pond 8","pHsd"])
supriatna_ph_opt_meta<-metaprop(c(ph_opt_pond1_supriatna,ph_opt_pond2_supriatna,ph_opt_pond3_supriatna,
ph_opt_pond4_supriatna,ph_opt_pond5_supriatna,ph_opt_pond6_supriatna,
ph_opt_pond7_supriatna,ph_opt_pond8_supriatna),
c(supriatna["Pond 1","SampleSize"], supriatna["Pond 2","SampleSize"],supriatna["Pond 3","SampleSize"],supriatna["Pond 4","SampleSize"],
supriatna["Pond 5","SampleSize"],supriatna["Pond 6","SampleSize"],supriatna["Pond 7","SampleSize"],supriatna["Pond 8","SampleSize"]), method = "Inverse")
supriatna.opt.est<- plogis(c(supriatna_ph_opt_meta$TE.random,supriatna_ph_opt_meta$lower.random,supriatna_ph_opt_meta$upper.random))
supriatna_ph_opt<-data.frame(Study = "Supriatna et al. (2017)",
Proportion = supriatna.opt.est[1],
Lower_Limit = supriatna.opt.est[2],
Upper_limit = supriatna.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Intensive")
###SWP
#India
swpi_ph_opt_meta<-metaprop(sum(SWP_India$pH >= 6.5 & SWP_India$pH <= 8.5), length(SWP_India$pH), method = "Inverse")
swpi.opt.est<- plogis(c(swpi_ph_opt_meta$TE.random,swpi_ph_opt_meta$lower.random,swpi_ph_opt_meta$upper.random))
swpi_ph_opt<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.opt.est[1],
Lower_Limit = swpi.opt.est[2],
Upper_limit = swpi.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive") #There was one intensive farm, but only 1 out of 20 so it seems more accurate to call this semi-intensive rather than mixed.
#Vietnam
swpv_ph_opt_meta<-metaprop(c(sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "pH"] >= 6.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "pH"] <= 8.5),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "pH"] >= 6.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "pH"] <= 8.5),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "pH"] >= 6.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "pH"] <= 8.5),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "pH"] >= 6.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "pH"] <= 8.5),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "pH"] >= 6.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "pH"] <= 8.5),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "pH"] >= 6.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "pH"] <= 8.5),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "pH"] >= 6.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "pH"] <= 8.5),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "pH"] >= 6.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "pH"] <= 8.5)),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.opt.est<- plogis(c(swpv_ph_opt_meta$TE.random,swpv_ph_opt_meta$lower.random,swpv_ph_opt_meta$upper.random))
swpv_ph_opt<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.opt.est[1],
Lower_Limit = swpv.opt.est[2],
Upper_limit = swpv.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Mixed")
Suboptimal
Now we calculate the prevalence of suboptimal pH levels.
###Venka
ph_sub_guntar<-suboptimal_ph(n = venka["Guntar", "SampleSize"],mean = venka["Guntar", "pHm"], sd = venka["Guntar", "pHsd"] )
ph_sub_krishna<-suboptimal_ph(n = venka["Krishna", "SampleSize"],mean = venka["Krishna", "pHm"], sd = venka["Krishna", "pHsd"] )
ph_sub_westgodavari<-suboptimal_ph(n = venka["WestGodavari", "SampleSize"],mean = venka["WestGodavari", "pHm"], sd = venka["WestGodavari", "pHsd"] )
ph_sub_eastgodavari<-suboptimal_ph(n = venka["EastGodavari", "SampleSize"],mean = venka["EastGodavari", "pHm"], sd = venka["EastGodavari", "pHsd"] )
venka_ph_sub_meta<-metaprop(c(ph_sub_guntar,ph_sub_krishna, ph_sub_westgodavari, ph_sub_eastgodavari), c(venka["Guntar", "SampleSize"],venka["Krishna", "SampleSize"],venka["WestGodavari", "SampleSize"],venka["EastGodavari", "SampleSize"]), method = "Inverse")
venka.sub.est<- plogis(c(venka_ph_sub_meta$TE.random ,venka_ph_sub_meta$lower.random,venka_ph_sub_meta$upper.random))
venka_ph_sub<-data.frame(Study = "Venkateswarlu et al. (2019)",
Proportion = venka.sub.est[1],
Lower_Limit = venka.sub.est[2],
Upper_limit = venka.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
###Hukom
##P. vannamei
ph_sub_tv<-suboptimal_ph(n = hukom["TradVannamei", "SampleSize"],mean = hukom["TradVannamei", "pHm"], sd = hukom["TradVannamei", "pHsd"] )
ph_sub_tpv<-suboptimal_ph(n = hukom["TradPlusVannamei", "SampleSize"],mean = hukom["TradPlusVannamei", "pHm"], sd = hukom["TradPlusVannamei", "pHsd"] )
##P. Monodon
ph_sub_tp<-suboptimal_ph(n = hukom["TradMonodon", "SampleSize"],mean = hukom["TradMonodon", "pHm"], sd = hukom["TradMonodon", "pHsd"] )
ph_sub_tpp<-suboptimal_ph(n = hukom["TradPlusMonodon", "SampleSize"],mean = hukom["TradPlusMonodon", "pHm"], sd = hukom["TradPlusMonodon", "pHsd"] )
hukom_ph_sub_meta<-metaprop(c(ph_sub_tv,ph_sub_tpv,ph_sub_tp,ph_sub_tpp), c(hukom["TradVannamei", "SampleSize"],hukom["TradPlusVannamei", "SampleSize"],hukom["TradMonodon", "SampleSize"],hukom["TradPlusMonodon", "SampleSize"]), method = "Inverse")
hukom.sub.est<- plogis(c(hukom_ph_sub_meta$TE.random,hukom_ph_sub_meta$lower.random,hukom_ph_sub_meta$upper.random))
hukom_ph_sub<-data.frame(Study = "Hukom et al. (2020)",
Proportion = hukom.sub.est[1],
Lower_Limit = hukom.sub.est[2],
Upper_limit = hukom.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Extensive")
###Chowdhury
ph_sub_shrimprice_chowdhury<-suboptimal_ph(chowdhury["Shrimp-Rice","SampleSize"], chowdhury["Shrimp-Rice","pHm"], chowdhury["Shrimp-Rice","pHsd"])
ph_sub_shrimponly_chowdhury<-suboptimal_ph(chowdhury["Shrimp-Only","SampleSize"], chowdhury["Shrimp-Only","pHm"], chowdhury["Shrimp-Only","pHsd"])
chowdhury_ph_sub_meta<-metaprop(c(ph_sub_shrimprice_chowdhury,ph_sub_shrimponly_chowdhury), c(chowdhury["Shrimp-Rice","SampleSize"],chowdhury["Shrimp-Only","SampleSize"]), method = "Inverse")
chowdhury.sub.est<- plogis(c(chowdhury_ph_sub_meta$TE.random,chowdhury_ph_sub_meta$lower.random,chowdhury_ph_sub_meta$upper.random))
chowdhury_ph_sub<-data.frame(Study = "Chowdhury et al. (2011)",
Proportion = chowdhury.sub.est[1],
Lower_Limit = chowdhury.sub.est[2],
Upper_limit = chowdhury.sub.est[3],
Range = "Suboptimal",
Species = "P. Monodon",
Farm_Type = "Extensive")
###Supriatna
ph_sub_pond1_supriatna<-suboptimal_ph(supriatna["Pond 1","SampleSize"],supriatna["Pond 1","pHm"],supriatna["Pond 1","pHsd"])
ph_sub_pond2_supriatna<-suboptimal_ph(supriatna["Pond 2","SampleSize"],supriatna["Pond 2","pHm"],supriatna["Pond 2","pHsd"])
ph_sub_pond3_supriatna<-suboptimal_ph(supriatna["Pond 3","SampleSize"],supriatna["Pond 3","pHm"],supriatna["Pond 3","pHsd"])
ph_sub_pond4_supriatna<-suboptimal_ph(supriatna["Pond 4","SampleSize"],supriatna["Pond 4","pHm"],supriatna["Pond 4","pHsd"])
ph_sub_pond5_supriatna<-suboptimal_ph(supriatna["Pond 5","SampleSize"],supriatna["Pond 5","pHm"],supriatna["Pond 5","pHsd"])
ph_sub_pond6_supriatna<-suboptimal_ph(supriatna["Pond 6","SampleSize"],supriatna["Pond 6","pHm"],supriatna["Pond 6","pHsd"])
ph_sub_pond7_supriatna<-suboptimal_ph(supriatna["Pond 7","SampleSize"],supriatna["Pond 7","pHm"],supriatna["Pond 7","pHsd"])
ph_sub_pond8_supriatna<-suboptimal_ph(supriatna["Pond 8","SampleSize"],supriatna["Pond 8","pHm"],supriatna["Pond 8","pHsd"])
supriatna_ph_sub_meta<-metaprop(c(ph_sub_pond1_supriatna,ph_sub_pond2_supriatna,ph_sub_pond3_supriatna,
ph_sub_pond4_supriatna,ph_sub_pond5_supriatna,ph_sub_pond6_supriatna,
ph_sub_pond7_supriatna,ph_sub_pond8_supriatna),
c(supriatna["Pond 1","SampleSize"], supriatna["Pond 2","SampleSize"],supriatna["Pond 3","SampleSize"],supriatna["Pond 4","SampleSize"],
supriatna["Pond 5","SampleSize"],supriatna["Pond 6","SampleSize"],supriatna["Pond 7","SampleSize"],supriatna["Pond 8","SampleSize"]), method = "Inverse")
supriatna.sub.est<- plogis(c(supriatna_ph_sub_meta$TE.random,supriatna_ph_sub_meta$lower.random,supriatna_ph_sub_meta$upper.random))
supriatna_ph_sub<-data.frame(Study = "Supriatna et al. (2017)",
Proportion = supriatna.sub.est[1],
Lower_Limit = supriatna.sub.est[2],
Upper_limit = supriatna.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Intensive")
###SWP
#India
swpi_ph_sub_meta<-metaprop(sum(SWP_India$pH >= 5.0 & SWP_India$pH < 6.5|SWP_India$pH > 8.5 & SWP_India$pH <=9), length(SWP_India$pH), method = "Inverse")
swpi.sub.est<- plogis(c(swpi_ph_sub_meta$TE.random,swpi_ph_sub_meta$lower.random,swpi_ph_sub_meta$upper.random))
swpi_ph_sub<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.sub.est[1],
Lower_Limit = swpi.sub.est[2],
Upper_limit = swpi.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
#Vietnam
swpv_ph_sub_meta<-metaprop(
c(sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "pH"] >= 5.0 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "pH"] < 6.5|SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "pH"] > 8.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "pH"] <= 9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "pH"] >= 5.0 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "pH"] < 6.5|SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "pH"] > 8.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "pH"] <= 9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "pH"] >= 5.0 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "pH"] < 6.5|SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "pH"] > 8.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "pH"] <= 9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "pH"] >= 5.0 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "pH"] < 6.5|SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "pH"] > 8.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "pH"] <= 9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "pH"] >= 5.0 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "pH"] < 6.5|SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "pH"] > 8.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "pH"] <= 9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "pH"] >= 5.0 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "pH"] < 6.5|SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "pH"] > 8.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "pH"] <= 9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "pH"] >= 5.0 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "pH"] < 6.5|SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "pH"] > 8.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "pH"] <= 9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "pH"] >= 5.0 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "pH"] < 6.5|SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "pH"] > 8.5 &
SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "pH"] <= 9)),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.sub.est<- plogis(c(swpv_ph_sub_meta$TE.random,swpv_ph_sub_meta$lower.random,swpv_ph_sub_meta$upper.random))
swpv_ph_sub<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.sub.est[1],
Lower_Limit = swpv.sub.est[2],
Upper_limit = swpv.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Mixed")
Summary Table
ph_Summary<-data.frame(rbind(venka_ph_opt,venka_ph_sub,hukom_ph_opt,hukom_ph_sub,
chowdhury_ph_opt,chowdhury_ph_sub,sivraman_ph_opt,supriatna_ph_opt,supriatna_ph_sub,
swpi_ph_opt,swpi_ph_sub,swpv_ph_opt,swpv_ph_sub))
ph_Summary$Percentage<-round(ph_Summary$Proportion*100,2)
ph_Summary$Lower.Percentage<-round(ph_Summary$Lower_Limit*100,2)
ph_Summary$Upper.Percentage<-round(ph_Summary$Upper_limit*100,2)
ph_Summary
Salinity
For P. vannamei, 10-40.9 psu is the optimal range; 0.6-9.9
and 41.0-59.0 psu are the suboptimal ranges (Table 11 of Pedrazzani et
al., 2023). The ranges appear similar enough for juvenile P.
Monodon to use the same standards (Ye et al.,
2009).
optimal_salinity<- function(n,mean, sd) {
set.seed(124)
sal_dist<-rnorm(n = n, mean = mean, sd = sd)
sal_optimal<-sum(sal_dist>= 10 & sal_dist<= 40.9)
return(sal_optimal)
}
suboptimal_salinity<- function(n,mean, sd) {
set.seed(124)
sal_dist<-rnorm(n = n, mean = mean, sd = sd)
sal_suboptimal<-sum((sal_dist>= 0.6 & sal_dist< 10)|(sal_dist> 40.9 & sal_dist<= 59))
return(sal_suboptimal)
}
Optimal
###Boyd
#We were not able to perfectly capture the optimal/suboptimal distinction for the Boyd data, as they binned the results in a way that overlapped range categories.
#For simplicity, we assume that farms in the 6-10 category had salinities less than 10 ppt.
lindrazba_salinity_opt_meta<-metaprop(c(lindrazba_salinity["11-20","farms_west"]+lindrazba_salinity["21-30","farms_west"]+lindrazba_salinity["31-40","farms_west"]+lindrazba_salinity["11-20","farms_east"]+lindrazba_salinity["21-30","farms_east"]+lindrazba_salinity["31-40","farms_east"]), c(sum(lindrazba_do$farms_west)+sum(lindrazba_do$farms_east)))
lindrazba.opt.est<- plogis(c(lindrazba_salinity_opt_meta$TE.random ,lindrazba_salinity_opt_meta$lower.random,lindrazba_salinity_opt_meta$upper.random))
lindrazba_salinity_opt<-data.frame(Study = "Lin & Drazba (2006)",
Proportion = lindrazba.opt.est[1],
Lower_Limit = lindrazba.opt.est[2],
Upper_limit = lindrazba.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Mixed")
###Venka
salinity_opt_guntar<-optimal_salinity(n = venka["Guntar", "SampleSize"],mean = venka["Guntar", "Salinitym"], sd = venka["Guntar", "Salinitysd"] )
salinity_opt_krishna<-optimal_salinity(n = venka["Krishna", "SampleSize"],mean = venka["Krishna", "Salinitym"], sd = venka["Krishna", "Salinitysd"] )
salinity_opt_westgodavari<-optimal_salinity(n = venka["WestGodavari", "SampleSize"],mean = venka["WestGodavari", "Salinitym"], sd = venka["WestGodavari", "Salinitysd"] )
salinity_opt_eastgodavari<-optimal_salinity(n = venka["EastGodavari", "SampleSize"],mean = venka["EastGodavari", "Salinitym"], sd = venka["EastGodavari", "Salinitysd"] )
venka_salinity_opt_meta<-metaprop(c(salinity_opt_guntar,salinity_opt_krishna, salinity_opt_westgodavari, salinity_opt_eastgodavari), c(venka["Guntar", "SampleSize"],venka["Krishna", "SampleSize"],venka["WestGodavari", "SampleSize"],venka["EastGodavari", "SampleSize"]), method = "Inverse")
venka.opt.est<- plogis(c(venka_salinity_opt_meta$TE.random ,venka_salinity_opt_meta$lower.random,venka_salinity_opt_meta$upper.random))
venka_salinity_opt<-data.frame(Study = "Venkateswarlu et al. (2019)",
Proportion = venka.opt.est[1],
Lower_Limit = venka.opt.est[2],
Upper_limit = venka.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
###Hukom
##P. vannamei
salinity_opt_tv<-optimal_salinity(n = hukom["TradVannamei", "SampleSize"],mean = hukom["TradVannamei", "Salinitym"], sd = hukom["TradVannamei", "Salinitysd"] )
salinity_opt_tpv<-optimal_salinity(n = hukom["TradPlusVannamei", "SampleSize"],mean = hukom["TradPlusVannamei", "Salinitym"], sd = hukom["TradPlusVannamei", "Salinitysd"] )
##P. Monodon
salinity_opt_tp<-optimal_salinity(n = hukom["TradMonodon", "SampleSize"],mean = hukom["TradMonodon", "Salinitym"], sd = hukom["TradMonodon", "Salinitysd"] )
salinity_opt_tpp<-optimal_salinity(n = hukom["TradPlusMonodon", "SampleSize"],mean = hukom["TradPlusMonodon", "Salinitym"], sd = hukom["TradPlusMonodon", "Salinitysd"] )
hukom_salinity_opt_meta<-metaprop(c(salinity_opt_tv,salinity_opt_tpv,salinity_opt_tp,salinity_opt_tpp), c(hukom["TradVannamei", "SampleSize"],hukom["TradPlusVannamei", "SampleSize"],hukom["TradMonodon", "SampleSize"],hukom["TradPlusMonodon", "SampleSize"]), method = "Inverse")
hukom.opt.est<- plogis(c(hukom_salinity_opt_meta$TE.random,hukom_salinity_opt_meta$lower.random,hukom_salinity_opt_meta$upper.random))
hukom_salinity_opt<-data.frame(Study = "Hukom et al. (2020)",
Proportion = hukom.opt.est[1],
Lower_Limit = hukom.opt.est[2],
Upper_limit = hukom.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Extensive")
###Chowdhury
salinity_opt_shrimprice_chowdhury<-optimal_salinity(chowdhury["Shrimp-Rice","SampleSize"], chowdhury["Shrimp-Rice","Salinitym"], chowdhury["Shrimp-Rice","Salinitysd"])
salinity_opt_shrimponly_chowdhury<-optimal_salinity(chowdhury["Shrimp-Only","SampleSize"], chowdhury["Shrimp-Only","Salinitym"], chowdhury["Shrimp-Only","Salinitysd"])
chowdhury_salinity_opt_meta<-metaprop(c(salinity_opt_shrimprice_chowdhury,salinity_opt_shrimponly_chowdhury), c(chowdhury["Shrimp-Rice","SampleSize"],chowdhury["Shrimp-Only","SampleSize"]), method = "Inverse")
chowdhury.opt.est<- plogis(c(chowdhury_salinity_opt_meta$TE.random,chowdhury_salinity_opt_meta$lower.random,chowdhury_salinity_opt_meta$upper.random))
chowdhury_salinity_opt<-data.frame(Study = "Chowdhury et al. (2011)",
Proportion = chowdhury.opt.est[1],
Lower_Limit = chowdhury.opt.est[2],
Upper_limit = chowdhury.opt.est[3],
Range = "Optimal",
Species = "P. Monodon",
Farm_Type = "Extensive")
###Sivraman's optimal salinity percentage is already computed in the original survey data
sivraman_salinity_opt_meta<-metaprop(sivaraman$salinity_opt, sivaraman$sample, method = "Inverse")
sivraman.opt.est<- plogis(c(sivraman_salinity_opt_meta$TE.random,sivraman_salinity_opt_meta$lower.random,sivraman_salinity_opt_meta$upper.random))
sivraman_salinity_opt<-data.frame(Study = "Sivaraman et al. (2019)",
Proportion = sivraman.opt.est[1],
Lower_Limit = sivraman.opt.est[2],
Upper_limit = sivraman.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Mixed")
###Supriatna
salinity_opt_pond1_supriatna<-optimal_salinity(supriatna["Pond 1","SampleSize"],supriatna["Pond 1","Salinitym"],supriatna["Pond 1","Salinitysd"])
salinity_opt_pond2_supriatna<-optimal_salinity(supriatna["Pond 2","SampleSize"],supriatna["Pond 2","Salinitym"],supriatna["Pond 2","Salinitysd"])
salinity_opt_pond3_supriatna<-optimal_salinity(supriatna["Pond 3","SampleSize"],supriatna["Pond 3","Salinitym"],supriatna["Pond 3","Salinitysd"])
salinity_opt_pond4_supriatna<-optimal_salinity(supriatna["Pond 4","SampleSize"],supriatna["Pond 4","Salinitym"],supriatna["Pond 4","Salinitysd"])
salinity_opt_pond5_supriatna<-optimal_salinity(supriatna["Pond 5","SampleSize"],supriatna["Pond 5","Salinitym"],supriatna["Pond 5","Salinitysd"])
salinity_opt_pond6_supriatna<-optimal_salinity(supriatna["Pond 6","SampleSize"],supriatna["Pond 6","Salinitym"],supriatna["Pond 6","Salinitysd"])
salinity_opt_pond7_supriatna<-optimal_salinity(supriatna["Pond 7","SampleSize"],supriatna["Pond 7","Salinitym"],supriatna["Pond 7","Salinitysd"])
salinity_opt_pond8_supriatna<-optimal_salinity(supriatna["Pond 8","SampleSize"],supriatna["Pond 8","Salinitym"],supriatna["Pond 8","Salinitysd"])
supriatna_salinity_opt_meta<-metaprop(c(salinity_opt_pond1_supriatna,salinity_opt_pond2_supriatna,salinity_opt_pond3_supriatna,salinity_opt_pond4_supriatna,salinity_opt_pond5_supriatna,salinity_opt_pond6_supriatna,
salinity_opt_pond7_supriatna,salinity_opt_pond8_supriatna),
c(supriatna["Pond 1","SampleSize"], supriatna["Pond 2","SampleSize"],supriatna["Pond 3","SampleSize"],supriatna["Pond 4","SampleSize"],
supriatna["Pond 5","SampleSize"],supriatna["Pond 6","SampleSize"],supriatna["Pond 7","SampleSize"],supriatna["Pond 8","SampleSize"]), method = "Inverse")
supriatna.opt.est<- plogis(c(supriatna_salinity_opt_meta$TE.random,supriatna_salinity_opt_meta$lower.random,supriatna_salinity_opt_meta$upper.random))
supriatna_salinity_opt<-data.frame(Study = "Supriatna et al. (2017)",
Proportion = supriatna.opt.est[1],
Lower_Limit = supriatna.opt.est[2],
Upper_limit = supriatna.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Intensive")
###SWP
#India
swpi_salinity_opt_meta<-metaprop(sum(SWP_India$Salinity >= 10 & SWP_India$Salinity <= 40.9), length(SWP_India$Salinity), method = "Inverse")
swpi.opt.est<- plogis(c(swpi_salinity_opt_meta$TE.random,swpi_salinity_opt_meta$lower.random,swpi_salinity_opt_meta$upper.random))
swpi_salinity_opt<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.opt.est[1],
Lower_Limit = swpi.opt.est[2],
Upper_limit = swpi.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
#Vietnam
swpv_salinity_opt_meta<-metaprop(c(sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Salinity"] >= 10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Salinity"] <= 40.9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Salinity"] >= 10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Salinity"] <= 40.9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Salinity"] >= 10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Salinity"] <= 40.9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Salinity"] >= 10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Salinity"] <= 40.9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Salinity"] >= 10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Salinity"] <= 40.9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Salinity"] >= 10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Salinity"] <= 40.9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Salinity"] >= 10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Salinity"] <= 40.9),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Salinity"] >= 10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Salinity"] <= 40.9)),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.opt.est<- plogis(c(swpv_salinity_opt_meta$TE.random,swpv_salinity_opt_meta$lower.random,swpv_salinity_opt_meta$upper.random))
swpv_salinity_opt<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.opt.est[1],
Lower_Limit = swpv.opt.est[2],
Upper_limit = swpv.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Mixed")
Suboptimal
Now, we compute the prevalence of suboptimal salinity.
#To avoid all farms being in compliance by fiat, we treated the "Less than 2" category as if all farms had salinities less than 0.6.
salinity_sub_vannamei_boyd<- (lindrazba_salinity["6-10","farms_west"]+lindrazba_salinity["2-5","farms_west"])/sum(lindrazba_salinity$farms_west)
salinity_sub_monodon_boyd<- (lindrazba_salinity["6-10","farms_east"]+lindrazba_salinity["2-5","farms_east"])/sum(lindrazba_salinity$farms_east)
lindrazba_salinity_sub_meta<-metaprop(c(lindrazba_salinity["6-10","farms_west"]+lindrazba_salinity["2-5","farms_west"]+lindrazba_salinity["6-10","farms_east"]+lindrazba_salinity["2-5","farms_east"]), c(sum(lindrazba_do$farms_west)+sum(lindrazba_do$farms_east)))
boyd.sub.est<- plogis(c(lindrazba_salinity_sub_meta$TE.random ,lindrazba_salinity_sub_meta$lower.random,lindrazba_salinity_sub_meta$upper.random))
lindrazba_salinity_sub<-data.frame(Study = "Lin & Drazba (2006)",
Proportion = boyd.sub.est[1],
Lower_Limit = boyd.sub.est[2],
Upper_limit = boyd.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Mixed")
###Venka
salinity_sub_guntar<-suboptimal_salinity(n = venka["Guntar", "SampleSize"],mean = venka["Guntar", "Salinitym"], sd = venka["Guntar", "Salinitysd"] )
salinity_sub_krishna<-suboptimal_salinity(n = venka["Krishna", "SampleSize"],mean = venka["Krishna", "Salinitym"], sd = venka["Krishna", "Salinitysd"] )
salinity_sub_westgodavari<-suboptimal_salinity(n = venka["WestGodavari", "SampleSize"],mean = venka["WestGodavari", "Salinitym"], sd = venka["WestGodavari", "Salinitysd"] )
salinity_sub_eastgodavari<-suboptimal_salinity(n = venka["EastGodavari", "SampleSize"],mean = venka["EastGodavari", "Salinitym"], sd = venka["EastGodavari", "Salinitysd"] )
venka_salinity_sub_meta<-metaprop(c(salinity_sub_guntar,salinity_sub_krishna, salinity_sub_westgodavari, salinity_sub_eastgodavari), c(venka["Guntar", "SampleSize"],venka["Krishna", "SampleSize"],venka["WestGodavari", "SampleSize"],venka["EastGodavari", "SampleSize"]), method = "Inverse")
venka.sub.est<- plogis(c(venka_salinity_sub_meta$TE.random ,venka_salinity_sub_meta$lower.random,venka_salinity_sub_meta$upper.random))
venka_salinity_sub<-data.frame(Study = "Venkateswarlu et al. (2019)",
Proportion = venka.sub.est[1],
Lower_Limit = venka.sub.est[2],
Upper_limit = venka.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
###Hukom
##P. vannamei
salinity_sub_tv<-suboptimal_salinity(n = hukom["TradVannamei", "SampleSize"],mean = hukom["TradVannamei", "Salinitym"], sd = hukom["TradVannamei", "Salinitysd"] )
salinity_sub_tpv<-suboptimal_salinity(n = hukom["TradPlusVannamei", "SampleSize"],mean = hukom["TradPlusVannamei", "Salinitym"], sd = hukom["TradPlusVannamei", "Salinitysd"] )
##P. Monodon
salinity_sub_tp<-suboptimal_salinity(n = hukom["TradMonodon", "SampleSize"],mean = hukom["TradMonodon", "Salinitym"], sd = hukom["TradMonodon", "Salinitysd"] )
salinity_sub_tpp<-suboptimal_salinity(n = hukom["TradPlusMonodon", "SampleSize"],mean = hukom["TradPlusMonodon", "Salinitym"], sd = hukom["TradPlusMonodon", "Salinitysd"] )
hukom_salinity_sub_meta<-metaprop(c(salinity_sub_tv,salinity_sub_tpv,salinity_sub_tp,salinity_sub_tpp), c(hukom["TradVannamei", "SampleSize"],hukom["TradPlusVannamei", "SampleSize"],hukom["TradMonodon", "SampleSize"],hukom["TradPlusMonodon", "SampleSize"]), method = "Inverse")
hukom.sub.est<- plogis(c(hukom_salinity_sub_meta$TE.random,hukom_salinity_sub_meta$lower.random,hukom_salinity_sub_meta$upper.random))
hukom_salinity_sub<-data.frame(Study = "Hukom et al. (2020)",
Proportion = hukom.sub.est[1],
Lower_Limit = hukom.sub.est[2],
Upper_limit = hukom.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Extensive")
###Chowdhury
salinity_sub_shrimprice_chowdhury<-suboptimal_salinity(chowdhury["Shrimp-Rice","SampleSize"], chowdhury["Shrimp-Rice","Salinitym"], chowdhury["Shrimp-Rice","Salinitysd"])
salinity_sub_shrimponly_chowdhury<-suboptimal_salinity(chowdhury["Shrimp-Only","SampleSize"], chowdhury["Shrimp-Only","Salinitym"], chowdhury["Shrimp-Only","Salinitysd"])
chowdhury_salinity_sub_meta<-metaprop(c(salinity_sub_shrimprice_chowdhury,salinity_sub_shrimponly_chowdhury), c(chowdhury["Shrimp-Rice","SampleSize"],chowdhury["Shrimp-Only","SampleSize"]), method = "Inverse")
chowdhury.sub.est<- plogis(c(chowdhury_salinity_sub_meta$TE.random,chowdhury_salinity_sub_meta$lower.random,chowdhury_salinity_sub_meta$upper.random))
chowdhury_salinity_sub<-data.frame(Study = "Chowdhury et al. (2011)",
Proportion = chowdhury.sub.est[1],
Lower_Limit = chowdhury.sub.est[2],
Upper_limit = chowdhury.sub.est[3],
Range = "Suboptimal",
Species = "P. Monodon",
Farm_Type = "Extensive")
###Supriatna
salinity_sub_pond1_supriatna<-suboptimal_salinity(supriatna["Pond 1","SampleSize"],supriatna["Pond 1","Salinitym"],supriatna["Pond 1","Salinitysd"])
salinity_sub_pond2_supriatna<-suboptimal_salinity(supriatna["Pond 2","SampleSize"],supriatna["Pond 2","Salinitym"],supriatna["Pond 2","Salinitysd"])
salinity_sub_pond3_supriatna<-suboptimal_salinity(supriatna["Pond 3","SampleSize"],supriatna["Pond 3","Salinitym"],supriatna["Pond 3","Salinitysd"])
salinity_sub_pond4_supriatna<-suboptimal_salinity(supriatna["Pond 4","SampleSize"],supriatna["Pond 4","Salinitym"],supriatna["Pond 4","Salinitysd"])
salinity_sub_pond5_supriatna<-suboptimal_salinity(supriatna["Pond 5","SampleSize"],supriatna["Pond 5","Salinitym"],supriatna["Pond 5","Salinitysd"])
salinity_sub_pond6_supriatna<-suboptimal_salinity(supriatna["Pond 6","SampleSize"],supriatna["Pond 6","Salinitym"],supriatna["Pond 6","Salinitysd"])
salinity_sub_pond7_supriatna<-suboptimal_salinity(supriatna["Pond 7","SampleSize"],supriatna["Pond 7","Salinitym"],supriatna["Pond 7","Salinitysd"])
salinity_sub_pond8_supriatna<-suboptimal_salinity(supriatna["Pond 8","SampleSize"],supriatna["Pond 8","Salinitym"],supriatna["Pond 8","Salinitysd"])
supriatna_salinity_sub_meta<-metaprop(c(salinity_sub_pond1_supriatna,salinity_sub_pond2_supriatna,salinity_sub_pond3_supriatna,salinity_sub_pond4_supriatna,salinity_sub_pond5_supriatna,salinity_sub_pond6_supriatna,
salinity_sub_pond7_supriatna,salinity_sub_pond8_supriatna),
c(supriatna["Pond 1","SampleSize"], supriatna["Pond 2","SampleSize"],supriatna["Pond 3","SampleSize"],supriatna["Pond 4","SampleSize"],
supriatna["Pond 5","SampleSize"],supriatna["Pond 6","SampleSize"],supriatna["Pond 7","SampleSize"],supriatna["Pond 8","SampleSize"]), method = "Inverse")
supriatna.sub.est<- plogis(c(supriatna_salinity_sub_meta$TE.random,supriatna_salinity_sub_meta$lower.random,supriatna_salinity_sub_meta$upper.random))
supriatna_salinity_sub<-data.frame(Study = "Supriatna et al. (2017)",
Proportion = supriatna.sub.est[1],
Lower_Limit = supriatna.sub.est[2],
Upper_limit = supriatna.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Intensive")
###SWP
#India
swpi_salinity_sub_meta<-metaprop(sum(SWP_India$Salinity >= 0.6 & SWP_India$Salinity < 10|SWP_India$Salinity > 40.9 & SWP_India$Salinity <= 59), length(SWP_India$Salinity), method = "Inverse")
swpi.sub.est<- plogis(c(swpi_salinity_sub_meta$TE.random,swpi_salinity_sub_meta$lower.random,swpi_salinity_sub_meta$upper.random))
swpi_salinity_sub<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.sub.est[1],
Lower_Limit = swpi.sub.est[2],
Upper_limit = swpi.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
#Vietnam
swpv_salinity_sub_meta<-metaprop(c(sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Salinity"] >= 0.6 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Salinity"] < 10)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Salinity"] > 40.9 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Salinity"] <= 59)), sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Salinity"] >= 0.6 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Salinity"] < 10)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Salinity"] > 40.9 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Salinity"] <= 59)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Salinity"] >= 0.6 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Salinity"] < 10)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Salinity"] > 40.9 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Salinity"] <= 59)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Salinity"] >= 0.6 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Salinity"] < 10)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Salinity"] > 40.9 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Salinity"] <= 59)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Salinity"] >= 0.6 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Salinity"] < 10)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Salinity"] > 40.9 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Salinity"] <= 59)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Salinity"] >= 0.6 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Salinity"] < 10)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Salinity"] > 40.9 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Salinity"] <= 59)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Salinity"] >= 0.6 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Salinity"] < 10)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Salinity"] > 40.9 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Salinity"] <= 59)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Salinity"] >= 0.6 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Salinity"] < 10)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Salinity"] > 40.9 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Salinity"] <= 59))),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.sub.est<- plogis(c(swpv_salinity_sub_meta$TE.random,swpv_salinity_sub_meta$lower.random,swpv_salinity_sub_meta$upper.random))
swpv_salinity_sub<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.sub.est[1],
Lower_Limit = swpv.sub.est[2],
Upper_limit = swpv.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Mixed")
Summary Table
salinity_Summary<-data.frame(rbind(lindrazba_salinity_opt,lindrazba_salinity_sub,venka_salinity_opt,venka_salinity_sub,hukom_salinity_opt,hukom_salinity_sub,chowdhury_salinity_opt,chowdhury_salinity_sub,sivraman_salinity_opt,supriatna_salinity_opt,supriatna_salinity_sub,swpi_salinity_opt,swpi_salinity_sub,swpv_salinity_opt,swpv_salinity_sub))
salinity_Summary$Percentage<-round(salinity_Summary$Proportion*100,2)
salinity_Summary$Lower.Percentage<-round(salinity_Summary$Lower_Limit*100,2)
salinity_Summary$Upper.Percentage<-round(salinity_Summary$Upper_limit*100,2)
salinity_Summary
Temperature
For P. vannamei, 25.5 C - 32.4 C is the optimal range; 14.5
- 25.4 C - and 32.5 C - 35.4 C are the suboptimal ranges (Table 11 of Pedrazzani et
al., 2023). The optimal range for P. monodon is likely
similar (Jackson &
Wang, 1998).
optimal_temperature<- function(n, mean, sd) {
set.seed(124)
temp_dist<-rnorm(n = n, mean = mean, sd = sd)
temp_optimal<-sum(temp_dist>= 25.5 & temp_dist<= 32.4)
return(temp_optimal)
}
suboptimal_temperature<- function(n, mean, sd) {
set.seed(124)
temp_dist<-rnorm(n = n, mean = mean, sd = sd)
temp_suboptimal<-sum((temp_dist>= 14.5 & temp_dist< 25.5)|(temp_dist> 32.4 & temp_dist<= 35.4))
return(temp_suboptimal)
}
Optimal
Now we compute the prevalence of optimal temperatures on farms.
###Venka
temperature_opt_guntar<-optimal_temperature(n = venka["Guntar", "SampleSize"],mean = venka["Guntar", "Tempm"], sd = venka["Guntar", "Tempsd"] )
temperature_opt_krishna<-optimal_temperature(n = venka["Krishna", "SampleSize"],mean = venka["Krishna", "Tempm"], sd = venka["Krishna", "Tempsd"] )
temperature_opt_westgodavari<-optimal_temperature(n = venka["WestGodavari", "SampleSize"],mean = venka["WestGodavari", "Tempm"], sd = venka["WestGodavari", "Tempsd"] )
temperature_opt_eastgodavari<-optimal_temperature(n = venka["EastGodavari", "SampleSize"],mean = venka["EastGodavari", "Tempm"], sd = venka["EastGodavari", "Tempsd"] )
venka_temperature_opt_meta<-metaprop(c(temperature_opt_guntar,temperature_opt_krishna, temperature_opt_westgodavari, temperature_opt_eastgodavari), c(venka["Guntar", "SampleSize"],venka["Krishna", "SampleSize"],venka["WestGodavari", "SampleSize"],venka["EastGodavari", "SampleSize"]), method = "Inverse")
venka.opt.est<- plogis(c(venka_temperature_opt_meta$TE.random ,venka_temperature_opt_meta$lower.random,venka_temperature_opt_meta$upper.random))
venka_temperature_opt<-data.frame(Study = "Venkateswarlu et al. (2019)",
Proportion = venka.opt.est[1],
Lower_Limit = venka.opt.est[2],
Upper_limit = venka.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
###Hukom
##P. vannamei
temperature_opt_tv<-optimal_temperature(n = hukom["TradVannamei", "SampleSize"],mean = hukom["TradVannamei", "Tempm"], sd = hukom["TradVannamei", "Tempsd"] )
temperature_opt_tpv<-optimal_temperature(n = hukom["TradPlusVannamei", "SampleSize"],mean = hukom["TradPlusVannamei", "Tempm"], sd = hukom["TradPlusVannamei", "Tempsd"] )
##P. Monodon
temperature_opt_tp<-optimal_temperature(n = hukom["TradMonodon", "SampleSize"],mean = hukom["TradMonodon", "Tempm"], sd = hukom["TradMonodon", "Tempsd"] )
temperature_opt_tpp<-optimal_temperature(n = hukom["TradPlusMonodon", "SampleSize"],mean = hukom["TradPlusMonodon", "Tempm"], sd = hukom["TradPlusMonodon", "Tempsd"] )
hukom_temperature_opt_meta<-metaprop(c(temperature_opt_tv,temperature_opt_tpv,temperature_opt_tp,temperature_opt_tpp), c(hukom["TradVannamei", "SampleSize"],hukom["TradPlusVannamei", "SampleSize"],hukom["TradMonodon", "SampleSize"],hukom["TradPlusMonodon", "SampleSize"]), method = "Inverse")
hukom.opt.est<- plogis(c(hukom_temperature_opt_meta$TE.random,hukom_temperature_opt_meta$lower.random,hukom_temperature_opt_meta$upper.random))
hukom_temperature_opt<-data.frame(Study = "Hukom et al. (2020)",
Proportion = hukom.opt.est[1],
Lower_Limit = hukom.opt.est[2],
Upper_limit = hukom.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Extensive")
###Chowdhury
temperature_opt_shrimprice_chowdhury<-optimal_temperature(chowdhury["Shrimp-Rice","SampleSize"], chowdhury["Shrimp-Rice","Tempm"], chowdhury["Shrimp-Rice","Tempsd"])
temperature_opt_shrimponly_chowdhury<-optimal_temperature(chowdhury["Shrimp-Only","SampleSize"], chowdhury["Shrimp-Only","Tempm"], chowdhury["Shrimp-Only","Tempsd"])
chowdhury_temperature_opt_meta<-metaprop(c(temperature_opt_shrimprice_chowdhury,temperature_opt_shrimponly_chowdhury), c(chowdhury["Shrimp-Rice","SampleSize"],chowdhury["Shrimp-Only","SampleSize"]), method = "Inverse")
chowdhury.opt.est<- plogis(c(chowdhury_temperature_opt_meta$TE.random,chowdhury_temperature_opt_meta$lower.random,chowdhury_temperature_opt_meta$upper.random))
chowdhury_temperature_opt<-data.frame(Study = "Chowdhury et al. (2011)",
Proportion = chowdhury.opt.est[1],
Lower_Limit = chowdhury.opt.est[2],
Upper_limit = chowdhury.opt.est[3],
Range = "Optimal",
Species = "P. Monodon",
Farm_Type = "Extensive")
###Supriatna
temperature_opt_pond1_supriatna<-optimal_temperature(supriatna["Pond 1","SampleSize"],supriatna["Pond 1","Tempm"],supriatna["Pond 1","Tempsd"])
temperature_opt_pond2_supriatna<-optimal_temperature(supriatna["Pond 2","SampleSize"],supriatna["Pond 2","Tempm"],supriatna["Pond 2","Tempsd"])
temperature_opt_pond3_supriatna<-optimal_temperature(supriatna["Pond 3","SampleSize"],supriatna["Pond 3","Tempm"],supriatna["Pond 3","Tempsd"])
temperature_opt_pond4_supriatna<-optimal_temperature(supriatna["Pond 4","SampleSize"],supriatna["Pond 4","Tempm"],supriatna["Pond 4","Tempsd"])
temperature_opt_pond5_supriatna<-optimal_temperature(supriatna["Pond 5","SampleSize"],supriatna["Pond 5","Tempm"],supriatna["Pond 5","Tempsd"])
temperature_opt_pond6_supriatna<-optimal_temperature(supriatna["Pond 6","SampleSize"],supriatna["Pond 6","Tempm"],supriatna["Pond 6","Tempsd"])
temperature_opt_pond7_supriatna<-optimal_temperature(supriatna["Pond 7","SampleSize"],supriatna["Pond 7","Tempm"],supriatna["Pond 7","Tempsd"])
temperature_opt_pond8_supriatna<-optimal_temperature(supriatna["Pond 8","SampleSize"],supriatna["Pond 8","Tempm"],supriatna["Pond 8","Tempsd"])
supriatna_temperature_opt_meta<-metaprop(c(temperature_opt_pond1_supriatna,temperature_opt_pond2_supriatna,temperature_opt_pond3_supriatna,temperature_opt_pond4_supriatna,temperature_opt_pond5_supriatna,temperature_opt_pond6_supriatna,
temperature_opt_pond7_supriatna,temperature_opt_pond8_supriatna),
c(supriatna["Pond 1","SampleSize"], supriatna["Pond 2","SampleSize"],supriatna["Pond 3","SampleSize"],supriatna["Pond 4","SampleSize"],
supriatna["Pond 5","SampleSize"],supriatna["Pond 6","SampleSize"],supriatna["Pond 7","SampleSize"],supriatna["Pond 8","SampleSize"]), method = "Inverse")
supriatna.opt.est<- plogis(c(supriatna_temperature_opt_meta$TE.random,supriatna_temperature_opt_meta$lower.random,supriatna_temperature_opt_meta$upper.random))
supriatna_temperature_opt<-data.frame(Study = "Supriatna et al. (2017)",
Proportion = supriatna.opt.est[1],
Lower_Limit = supriatna.opt.est[2],
Upper_limit = supriatna.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Intensive")
###SWP
#India
swpi_temperature_opt_meta<-metaprop(sum(SWP_India$Temp >= 25.5 & SWP_India$Temp <= 32.4), length(SWP_India$Temp), method = "Inverse")
swpi.opt.est<- plogis(c(swpi_temperature_opt_meta$TE.random,swpi_temperature_opt_meta$lower.random,swpi_temperature_opt_meta$upper.random))
swpi_temperature_opt<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.opt.est[1],
Lower_Limit = swpi.opt.est[2],
Upper_limit = swpi.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
#Vietnam
swpv_temperature_opt_meta<-metaprop(c(sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Temperature"] >= 25.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Temperature"] <= 32.4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Temperature"] >= 25.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Temperature"] <= 32.4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Temperature"] >= 25.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Temperature"] <= 32.4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Temperature"] >= 25.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Temperature"] <= 32.4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Temperature"] >= 25.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Temperature"] <= 32.4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Temperature"] >= 25.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Temperature"] <= 32.4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Temperature"] >= 25.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Temperature"] <= 32.4),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Temperature"] >= 25.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Temperature"] <= 32.4)),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.opt.est<- plogis(c(swpv_temperature_opt_meta$TE.random,swpv_temperature_opt_meta$lower.random,swpv_temperature_opt_meta$upper.random))
swpv_temperature_opt<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.opt.est[1],
Lower_Limit = swpv.opt.est[2],
Upper_limit = swpv.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Mixed")
Suboptimal
Now we compute the prevalence of suboptimal temperatures on
farms.
###Venka
temperature_sub_guntar<-suboptimal_temperature(n = venka["Guntar", "SampleSize"],mean = venka["Guntar", "Tempm"], sd = venka["Guntar", "Tempsd"] )
temperature_sub_krishna<-suboptimal_temperature(n = venka["Krishna", "SampleSize"],mean = venka["Krishna", "Tempm"], sd = venka["Krishna", "Tempsd"] )
temperature_sub_westgodavari<-suboptimal_temperature(n = venka["WestGodavari", "SampleSize"],mean = venka["WestGodavari", "Tempm"], sd = venka["WestGodavari", "Tempsd"] )
temperature_sub_eastgodavari<-suboptimal_temperature(n = venka["EastGodavari", "SampleSize"],mean = venka["EastGodavari", "Tempm"], sd = venka["EastGodavari", "Tempsd"] )
venka_temperature_sub_meta<-metaprop(c(temperature_sub_guntar,temperature_sub_krishna, temperature_sub_westgodavari, temperature_sub_eastgodavari), c(venka["Guntar", "SampleSize"],venka["Krishna", "SampleSize"],venka["WestGodavari", "SampleSize"],venka["EastGodavari", "SampleSize"]), method = "Inverse")
venka.sub.est<- plogis(c(venka_temperature_sub_meta$TE.random ,venka_temperature_sub_meta$lower.random,venka_temperature_sub_meta$upper.random))
venka_temperature_sub<-data.frame(Study = "Venkateswarlu et al. (2019)",
Proportion = venka.sub.est[1],
Lower_Limit = venka.sub.est[2],
Upper_limit = venka.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
###Hukom
##P. vannamei
temperature_sub_tv<-suboptimal_temperature(n = hukom["TradVannamei", "SampleSize"],mean = hukom["TradVannamei", "Tempm"], sd = hukom["TradVannamei", "Tempsd"] )
temperature_sub_tpv<-suboptimal_temperature(n = hukom["TradPlusVannamei", "SampleSize"],mean = hukom["TradPlusVannamei", "Tempm"], sd = hukom["TradPlusVannamei", "Tempsd"] )
##P. Monodon
temperature_sub_tp<-suboptimal_temperature(n = hukom["TradMonodon", "SampleSize"],mean = hukom["TradMonodon", "Tempm"], sd = hukom["TradMonodon", "Tempsd"] )
temperature_sub_tpp<-suboptimal_temperature(n = hukom["TradPlusMonodon", "SampleSize"],mean = hukom["TradPlusMonodon", "Tempm"], sd = hukom["TradPlusMonodon", "Tempsd"] )
hukom_temperature_sub_meta<-metaprop(c(temperature_sub_tv,temperature_sub_tpv,temperature_sub_tp,temperature_sub_tpp), c(hukom["TradVannamei", "SampleSize"],hukom["TradPlusVannamei", "SampleSize"],hukom["TradMonodon", "SampleSize"],hukom["TradPlusMonodon", "SampleSize"]), method = "Inverse")
hukom.sub.est<- plogis(c(hukom_temperature_sub_meta$TE.random,hukom_temperature_sub_meta$lower.random,hukom_temperature_sub_meta$upper.random))
hukom_temperature_sub<-data.frame(Study = "Hukom et al. (2020)",
Proportion = hukom.sub.est[1],
Lower_Limit = hukom.sub.est[2],
Upper_limit = hukom.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Extensive")
###Chowdhury
temperature_sub_shrimprice_chowdhury<-suboptimal_temperature(chowdhury["Shrimp-Rice","SampleSize"], chowdhury["Shrimp-Rice","Tempm"], chowdhury["Shrimp-Rice","Tempsd"])
temperature_sub_shrimponly_chowdhury<-suboptimal_temperature(chowdhury["Shrimp-Only","SampleSize"], chowdhury["Shrimp-Only","Tempm"], chowdhury["Shrimp-Only","Tempsd"])
chowdhury_temperature_sub_meta<-metaprop(c(temperature_sub_shrimprice_chowdhury,temperature_sub_shrimponly_chowdhury), c(chowdhury["Shrimp-Rice","SampleSize"],chowdhury["Shrimp-Only","SampleSize"]), method = "Inverse")
chowdhury.sub.est<- plogis(c(chowdhury_temperature_sub_meta$TE.random,chowdhury_temperature_sub_meta$lower.random,chowdhury_temperature_sub_meta$upper.random))
chowdhury_temperature_sub<-data.frame(Study = "Chowdhury et al. (2011)",
Proportion = chowdhury.sub.est[1],
Lower_Limit = chowdhury.sub.est[2],
Upper_limit = chowdhury.sub.est[3],
Range = "Suboptimal",
Species = "P. Monodon",
Farm_Type = "Extensive")
###Supriatna
temperature_sub_pond1_supriatna<-suboptimal_temperature(supriatna["Pond 1","SampleSize"],supriatna["Pond 1","Tempm"],supriatna["Pond 1","Tempsd"])
temperature_sub_pond2_supriatna<-suboptimal_temperature(supriatna["Pond 2","SampleSize"],supriatna["Pond 2","Tempm"],supriatna["Pond 2","Tempsd"])
temperature_sub_pond3_supriatna<-suboptimal_temperature(supriatna["Pond 3","SampleSize"],supriatna["Pond 3","Tempm"],supriatna["Pond 3","Tempsd"])
temperature_sub_pond4_supriatna<-suboptimal_temperature(supriatna["Pond 4","SampleSize"],supriatna["Pond 4","Tempm"],supriatna["Pond 4","Tempsd"])
temperature_sub_pond5_supriatna<-suboptimal_temperature(supriatna["Pond 5","SampleSize"],supriatna["Pond 5","Tempm"],supriatna["Pond 5","Tempsd"])
temperature_sub_pond6_supriatna<-suboptimal_temperature(supriatna["Pond 6","SampleSize"],supriatna["Pond 6","Tempm"],supriatna["Pond 6","Tempsd"])
temperature_sub_pond7_supriatna<-suboptimal_temperature(supriatna["Pond 7","SampleSize"],supriatna["Pond 7","Tempm"],supriatna["Pond 7","Tempsd"])
temperature_sub_pond8_supriatna<-suboptimal_temperature(supriatna["Pond 8","SampleSize"],supriatna["Pond 8","Tempm"],supriatna["Pond 8","Tempsd"])
supriatna_temperature_sub_meta<-metaprop(c(temperature_sub_pond1_supriatna,temperature_sub_pond2_supriatna,temperature_sub_pond3_supriatna,temperature_sub_pond4_supriatna,temperature_sub_pond5_supriatna,temperature_sub_pond6_supriatna,
temperature_sub_pond7_supriatna,temperature_sub_pond8_supriatna),
c(supriatna["Pond 1","SampleSize"], supriatna["Pond 2","SampleSize"],supriatna["Pond 3","SampleSize"],supriatna["Pond 4","SampleSize"],
supriatna["Pond 5","SampleSize"],supriatna["Pond 6","SampleSize"],supriatna["Pond 7","SampleSize"],supriatna["Pond 8","SampleSize"]), method = "Inverse")
supriatna.sub.est<- plogis(c(supriatna_temperature_sub_meta$TE.random,supriatna_temperature_sub_meta$lower.random,supriatna_temperature_sub_meta$upper.random))
supriatna_temperature_sub<-data.frame(Study = "Supriatna et al. (2017)",
Proportion = supriatna.sub.est[1],
Lower_Limit = supriatna.sub.est[2],
Upper_limit = supriatna.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Intensive")
###SWP
#India
swpi_temperature_sub_meta<-metaprop(sum((SWP_India$Temp >= 14.5 & SWP_India$Temp < 25.5)|
(SWP_India$Temp > 32.4 & SWP_India$Temp <= 35.4)), length(SWP_India$Temp), method = "Inverse")
swpi.sub.est<- plogis(c(swpi_temperature_sub_meta$TE.random,swpi_temperature_sub_meta$lower.random,swpi_temperature_sub_meta$upper.random))
swpi_temperature_sub<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.sub.est[1],
Lower_Limit = swpi.sub.est[2],
Upper_limit = swpi.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
#Vietnam
swpv_temperature_sub_meta<-metaprop(c(sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Temperature"] >= 14.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Temperature"] < 25.5)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Temperature"] > 32.4 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "Temperature"] <= 35.4)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Temperature"] >= 14.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Temperature"] < 25.5)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Temperature"] > 32.4 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "Temperature"] <= 35.4)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Temperature"] >= 14.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Temperature"] < 25.5)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Temperature"] > 32.4 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "Temperature"] <= 35.4)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Temperature"] >= 14.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Temperature"] < 25.5)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Temperature"] > 32.4 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "Temperature"] <= 35.4)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Temperature"] >= 14.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Temperature"] < 25.5)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Temperature"] > 32.4 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "Temperature"] <= 35.4)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Temperature"] >= 14.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Temperature"] < 25.5)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Temperature"] > 32.4 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "Temperature"] <= 35.4)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Temperature"] >= 14.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Temperature"] < 25.5)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Temperature"] > 32.4 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "Temperature"] <= 35.4)),
sum((SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Temperature"] >= 14.5 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Temperature"] < 25.5)|(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Temperature"] > 32.4 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "Temperature"] <= 35.4))),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.sub.est<- plogis(c(swpv_temperature_sub_meta$TE.random,swpv_temperature_sub_meta$lower.random,swpv_temperature_sub_meta$upper.random))
swpv_temperature_sub<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.sub.est[1],
Lower_Limit = swpv.sub.est[2],
Upper_limit = swpv.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Mixed")
Summary Table
temperature_Summary<-data.frame(rbind(venka_temperature_opt,venka_temperature_sub,hukom_temperature_opt,hukom_temperature_sub,chowdhury_temperature_opt,chowdhury_temperature_sub,supriatna_temperature_opt,supriatna_temperature_sub,swpi_temperature_opt,swpi_temperature_sub,swpv_temperature_opt,swpv_temperature_sub))
temperature_Summary$Percentage<-round(temperature_Summary$Proportion*100,2)
temperature_Summary$Lower.Percentage<-round(temperature_Summary$Lower_Limit*100,2)
temperature_Summary$Upper.Percentage<-round(temperature_Summary$Upper_limit*100,2)
temperature_Summary
Un-ionized Ammonia
Only the Shrimp Welfare Project datasets measured un-ionized ammonia.
Some of the others measured total ammonia. Although standards exist for
how much combined total ammonia is appropriate, we only include
measurements of un-ionized ammonia because it is much more relevant to
shrimp welfare.
For P. Vannamei, the optimal range 0-.10 mg/L and the
suboptimal range is .11-.30 mg/L (Table 11 of Pedrazzani et
al., 2023). We assumed that the ranges for P. Monodon are
similar enough to ignore here Chen et al.,
1990.
Optimal
We begin by estimating compliance with optimal ammonia levels.
###SWP
#India
swpi_ammonia_opt_meta<-metaprop(sum(SWP_India$Un_Ammonia <= .10), length(SWP_India$Un_Ammonia), method = "Inverse")
swpi.opt.est<- plogis(c(swpi_ammonia_opt_meta$TE.random,swpi_ammonia_opt_meta$lower.random,swpi_ammonia_opt_meta$upper.random))
swpi_ammonia_opt<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.opt.est[1],
Lower_Limit = swpi.opt.est[2],
Upper_limit = swpi.opt.est[3],
Range = "Optimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
#Vietnam
swpv_ammonia_opt_meta<-metaprop(c(sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "NH3"] <= 0.10),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "NH3"] <= 0.10),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "NH3"] <= 0.10),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "NH3"] <= 0.10),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "NH3"] <= 0.10),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "NH3"] <= 0.10),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "NH3"] <= 0.10),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "NH3"] <= 0.10)),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.opt.est<- plogis(c(swpv_ammonia_opt_meta$TE.random,swpv_ammonia_opt_meta$lower.random,swpv_ammonia_opt_meta$upper.random))
swpv_ammonia_opt<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.opt.est[1],
Lower_Limit = swpv.opt.est[2],
Upper_limit = swpv.opt.est[3],
Range = "Optimal",
Species = "Both",
Farm_Type = "Mixed")
Suboptimal
Next, we estimate compliance with suboptimal ammonia levels.
#India
swpi_ammonia_sub_meta<-metaprop(sum(SWP_India$Un_Ammonia > .10 & SWP_India$Un_Ammonia <= .30), length(SWP_India$Un_Ammonia), method = "Inverse")
swpi.sub.est<- plogis(c(swpi_ammonia_sub_meta$TE.random,swpi_ammonia_sub_meta$lower.random,swpi_ammonia_sub_meta$upper.random))
swpi_ammonia_sub<-data.frame(Study = "Shrimp Welfare Project: India",
Proportion = swpi.sub.est[1],
Lower_Limit = swpi.sub.est[2],
Upper_limit = swpi.sub.est[3],
Range = "Suboptimal",
Species = "P. Vannamei",
Farm_Type = "Semi-Intensive")
#Vietnam
swpv_ammonia_sub_meta<-metaprop(c(sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "NH3"] > 0.10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 1, "NH3"] <= 0.30),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "NH3"] > 0.10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 3, "NH3"] <= 0.30),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "NH3"] > 0.10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 5, "NH3"] <= 0.30),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "NH3"] > 0.10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 7, "NH3"] <= 0.30),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "NH3"] > 0.10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 8, "NH3"] <= 0.30),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "NH3"] > 0.10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 9, "NH3"] <= 0.30),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "NH3"] > 0.10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 10, "NH3"] <= 0.30),
sum(SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "NH3"] > 0.10 & SWP_Vietnam_growout[SWP_Vietnam_growout$ID == 11, "NH3"] <= 0.30)),
c(sum(SWP_Vietnam_growout$ID==1),
sum(SWP_Vietnam_growout$ID==3),
sum(SWP_Vietnam_growout$ID==5),
sum(SWP_Vietnam_growout$ID==7),
sum(SWP_Vietnam_growout$ID==8),
sum(SWP_Vietnam_growout$ID==9),
sum(SWP_Vietnam_growout$ID==10),
sum(SWP_Vietnam_growout$ID==11)), method = "Inverse")
swpv.sub.est<- plogis(c(swpv_ammonia_sub_meta$TE.random,swpv_ammonia_sub_meta$lower.random,swpv_ammonia_sub_meta$upper.random))
swpv_ammonia_sub<-data.frame(Study = "Shrimp Welfare Project: Vietnam",
Proportion = swpv.sub.est[1],
Lower_Limit = swpv.sub.est[2],
Upper_limit = swpv.sub.est[3],
Range = "Suboptimal",
Species = "Both",
Farm_Type = "Mixed")
Summary Table
ammonia_Summary<-data.frame(rbind(swpi_ammonia_opt,swpi_ammonia_sub,swpv_ammonia_opt,swpv_ammonia_sub))
ammonia_Summary$Percentage<-round(ammonia_Summary$Proportion*100,2)
ammonia_Summary$Lower.Percentage<-round(ammonia_Summary$Lower_Limit*100,2)
ammonia_Summary$Upper.Percentage<-round(ammonia_Summary$Upper_limit*100,2)
ammonia_Summary