Prepared by M. Keith Cox PhD (CQ Foods, Inc.)
There were three groups of shrimp. Group 1 did not seem infected with the Microsporidian wherease groups 2 and 3 were. They seemed to be infected as they degraded faster than group 1. Smell was the indicator. parasite equation (PE) <-A+((B^2)/A)
Table 1. Details for 3 samples tested, one standard sample (sample 1) against two off samples samples 2 and 3). Each prawn was tested on the anterior end followed by the posterior (thick then thin).
A, B and CQN were all significant between samples 1, 2 and 3. CQN went up in the diseased shrimp (usually it would go down in less healthy organisms). Because A and B are represented equally and were significant also, and due to the fact that upon freezing, the B value drops, it was chosen to use resistance in parallel to explain the difference and for development of a parasite index (PI).
Thin worked better than the thick measures.
For the parasite index (PI): There was a significant difference between group 1 and groups 2 and 3. There was no difference between 2 and 3. Group 1 had the highest value.
Because the disease is a intercellular parasite there could be more damage to the tissue (resulting in a lower B value) and more electrolytic ions in the space where the electricity travles (resulting in lower A values [resistance]). It is generally not resolved onto whether biological tissue (frozen or not) is in a series or parallel circuitry so sensitivity to change via statistics was chosen to determine series or parallel circuitry.
The sample sizes were skewed too. Group 1 had 40 measures while group 2 and 3 had 15 measures per group.
See if you can monitor at the farm and determine parasite load from the source.
The graph below compared the quality scores as measured by the CQN. There were significant differences between the groups as seen by a ANOVA followed by a TukeyHSD best fit function.
There was a significant difference between 1, 2 and 3.
Quality
There were 50 measures taken from each brand. There were consistant sample sizes from everybrand and provided data for a power analysis to estimate sample sizes.
fit<-aov(data$CQN~data$SAMPLE)
summary(fit)
## Df Sum Sq Mean Sq F value Pr(>F)
## data$SAMPLE 2 746 373.1 6.907 0.00138 **
## Residuals 139 7510 54.0
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(fit)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = data$CQN ~ data$SAMPLE)
##
## $`data$SAMPLE`
## diff lwr upr p adj
## 2-1 4.7245083 0.9964718 8.452545 0.0088657
## 3-1 4.5227271 0.8804041 8.165050 0.0106186
## 3-2 -0.2017811 -4.6271518 4.223590 0.9935878
fit<-aov(data$A~data$SAMPLE)
summary(fit)
## Df Sum Sq Mean Sq F value Pr(>F)
## data$SAMPLE 2 5293 2646.4 74.29 <2e-16 ***
## Residuals 139 4952 35.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(fit)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = data$A ~ data$SAMPLE)
##
## $`data$SAMPLE`
## diff lwr upr p adj
## 2-1 -11.352083 -14.379294 -8.324873 0.0000000
## 3-1 -13.100625 -16.058235 -10.143015 0.0000000
## 3-2 -1.748542 -5.341996 1.844913 0.4834477
fit<-aov(data$B~data$SAMPLE)
summary(fit)
## Df Sum Sq Mean Sq F value Pr(>F)
## data$SAMPLE 2 4.319 2.1595 35.15 4.43e-13 ***
## Residuals 139 8.540 0.0614
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(fit)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = data$B ~ data$SAMPLE)
##
## $`data$SAMPLE`
## diff lwr upr p adj
## 2-1 -0.31416667 -0.4398828 -0.1884505 0.0000001
## 3-1 -0.38125000 -0.5040757 -0.2584243 0.0000000
## 3-2 -0.06708333 -0.2163149 0.0821482 0.5373954
fit<-aov(data$Rp~data$SAMPLE)
summary(fit)
## Df Sum Sq Mean Sq F value Pr(>F)
## data$SAMPLE 2 5298 2648.8 74.65 <2e-16 ***
## Residuals 139 4932 35.5
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(fit)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = data$Rp ~ data$SAMPLE)
##
## $`data$SAMPLE`
## diff lwr upr p adj
## 2-1 -11.354056 -14.375341 -8.332771 0.0000000
## 3-1 -13.108639 -16.060460 -10.156818 0.0000000
## 3-2 -1.754583 -5.341003 1.831837 0.4796716
rm(list=ls()) library(qcc)
data<-read.csv(“/Users/Cox/Google Drive/analytics/clients/seafarms/Stinky shrimp/stink.shrimp.csv”)
setwd(“/Users/Cox/Google Drive/analytics/clients/seafarms/Stinky shrimp/”)
data\(CQN <- ((data\)B/data\(A)*180/3.14)*10 data\)Rp<-data\(A+((data\)B^2)/data\(A) data\)Date<-as.Date(data\(TIMESTAMP,format="%m/%d/%Y %H:%M") data\)SAMPLE<-as.factor(data$SAMPLE)
thick<-subset(data,TECHNIQUE==“THICK”) thin<-subset(data,TECHNIQUE==“THIN”)
X <- qccGroups(Rp, SAMPLE, data = thin)
unique(thin\(SAMPLE) summary(thin\)SAMPLE)
Measure quality and ID
Sig<-3 Main<-“Shrimp quality monitor” ylab<-“Quality index” label.limits<-c(“Lower”,“Upper”)
set date here 0
thin.mean<-aggregate(thin\(CQN,by=list(thin\)SAMPLE),FUN=mean) colnames(thin.mean)<-c(“Sample”,“Mean”)
thin.sd<-aggregate(thin\(CQN,by=list(thin\)SAMPLE),FUN=sd) colnames(thin.sd)<-c(“Sample”,“Sd”)
Count<-aggregate(thin\(Rp,by=list(thin\)SAMPLE),FUN=NROW) colnames(Count)<-c(“Sample”,“Number”)
thick.mean<-aggregate(thin\(CQN,by=list(thin\)SAMPLE),FUN=mean) colnames(thick.mean)<-c(“Sample”,“Mean”)
thick.sd<-aggregate(thin\(CQN,by=list(thin\)SAMPLE),FUN=sd) colnames(thick.sd)<-c(“Sample”,“Sd”)
change labels (without year)
rownames(X) <- strftime(rownames(X), format = “%m-%d”)
dim(X) apply(X, 1, function(x) sum(!is.na(x)))
Save datasets for auto-reports
save(data, file=“thin.RData”) save(thin,file=“thin.RData”) save(X,file=“X.RData”)
write.csv(data2, file = “/Users/Cox/Google Drive/analytics/clients/seafarms/help.csv”)
data<-read.csv(“/Users/Cox/Google Drive/analytics/clients/seafarms/help.csv”)
png(filename=“figure/A.boxplot.png”) boxplot(thin\(A~thin\)SAMPLE, pch=1,col=“Gray”,ylab=“A index”,las=3,main=“Thin”)
dev.off()
png(filename=“figure/B.boxplot.png”) boxplot(thin\(B~thin\)SAMPLE, pch=1,col=“Gray”,ylab=“B index”,las=3,main=“Thin”)
dev.off()
png(filename=“figure/thin.boxplot.png”) par(mar=c(9.1,4.1,4.1,5.1)) boxplot(thin\(Rp~thin\)SAMPLE, pch=1,col=“Gray”,ylab=“Parasite index (PI)”,las=3,main=“Thin”)
dev.off()
png(filename=“figure/quality.boxplot.png”) par(mar=c(9.1,4.1,4.1,5.1)) boxplot(thin\(CQN~thin\)SAMPLE, pch=1,col=“Gray”,ylab=“Quality index”,las=3,main=“thin”)
dev.off()
png(filename=“figure/quality.trend.png”) par(mar=c(9.1,4.1,4.1,5.1)) qcc(X, type = “xbar”,limits=c(35,100),ylim=c(20,50),label.center = “”,title=“Shrimp”,xlab=“Farm number”,axes.las=3, label.limits=c(“Lower limit”,“Upper limit”),ylab=“Parasite index”,restore.par=FALSE,add.stats=FALSE) abline(h=c(35,100),col=c(“red”,“green”),lwd=c(2,1)) dev.off()
png(filename=“figure/count.plot.png”)
plot(Count, pch=19,cex=2,col=“blue”, ylab=“Sample size”, main=“How many were measured”) box(which=‘outer’,lty = ‘solid’, col = ‘black’) dev.off()
fit<-aov(thin\(Rp~thin\)SAMPLE) summary(fit) tuk<-TukeyHSD(fit) tuk
fit1<-aov(thin\(CQN~thin\)SAMPLE) summary(fit1) tuk1<-TukeyHSD(fit1) tuk1