Question: What is the best fertilizer regime

Hypothesis: Bio-fertilizers perform better than inorganic fertilizers

library(tidyverse) # for ggplot2 and tidyr

Original dataset

gherkinCrude <- read_csv("~/ChapGherkin/ChapaData.csv")
## Warning: Missing column names filled in: 'X2' [2], 'X3' [3], 'X5' [5], 'X6' [6],
## 'X7' [7], 'X8' [8], 'X9' [9], 'X10' [10], 'X12' [12], 'X13' [13], 'X14' [14],
## 'X15' [15], 'X16' [16], 'X17' [17], 'X18' [18], 'X20' [20]
gherkinCrude
## # A tibble: 222 x 20
##    `1ST HARVEST` X2     X3      `LENGTH(cm)`    X5    X6    X7    X8    X9 X10  
##    <chr>         <chr>  <chr>   <chr>        <dbl> <dbl> <dbl> <dbl> <dbl> <lgl>
##  1 <NA>          WEIGHT POD NU… 1              2     3     4     5    NA   NA   
##  2 R1T1          3852   15      16.5          16    15.1  14.2  15.5  15.5 NA   
##  3 R1T2          4254   15      18            16    17.1  16.5  15.4  16.6 NA   
##  4 R1T3          3112   11      16.5          16    15.2  17.1  13.5  15.7 NA   
##  5 R1T4          3714   14      15.2          17.1  16.4  15.5  16.2  16.1 NA   
##  6 R1T5          4016   15      17.5          16.2  18.3  17.4  16.1  17.1 NA   
##  7 R1T6          5142   18      16.7          17.1  16.2  15.3  15.4  16.1 NA   
##  8 R2T1          3160   13      13.6          15    15.4  16.5  17    15.5 NA   
##  9 R2T2          2988   11      16.6          15.5  15.5  16.1  16.3  16   NA   
## 10 R2T3          2010   7       17.6          14.1  17    17    16.3  16.4 NA   
## # … with 212 more rows, and 10 more variables: GIRTH(mm) <chr>, X12 <dbl>,
## #   X13 <dbl>, X14 <dbl>, X15 <dbl>, X16 <chr>, X17 <lgl>, X18 <lgl>,
## #   Servival Rate <chr>, X20 <dbl>

This data set has already been cleaned, pivoted and arranged into different csv sheets

These data includes

1.Length of the fruit 2.Girth of the fruit 3. Yield of the fruit 4. Survival rate of the plants

fruitlengthGherkin <- data.frame(read_csv("~/ChapGherkin/Fulldatasets/fruitlengthGherkin.csv"))

fruitgirthGherkin <- data.frame(fruitlengthGherkin$treatment, read_csv("~/ChapGherkin/Fulldatasets/fruitgirthGherkin.csv"))

colnames(fruitgirthGherkin) <- c("treatment", "girth1", "girth2", "girth3", "girth4", "girth5")

yieldGherkin <- data.frame(read_csv("~/ChapGherkin/Fulldatasets/yieldGherkin.csv"))

srGherkin <- read_csv("~/ChapGherkin/Fulldatasets/srGherkin.csv")

Fruit length

summary(fruitlengthGherkin)
##   treatment            length1         length2         length3     
##  Length:180         Min.   : 6.20   Min.   : 9.20   Min.   : 9.70  
##  Class :character   1st Qu.:14.40   1st Qu.:14.40   1st Qu.:14.30  
##  Mode  :character   Median :15.50   Median :15.50   Median :15.40  
##                     Mean   :15.49   Mean   :15.32   Mean   :15.37  
##                     3rd Qu.:16.77   3rd Qu.:16.20   3rd Qu.:16.60  
##                     Max.   :21.60   Max.   :21.00   Max.   :21.00  
##                     NA's   :2       NA's   :7       NA's   :22     
##     length4         length5     
##  Min.   :10.20   Min.   : 7.70  
##  1st Qu.:14.50   1st Qu.:14.30  
##  Median :15.50   Median :15.50  
##  Mean   :15.66   Mean   :15.52  
##  3rd Qu.:17.00   3rd Qu.:16.50  
##  Max.   :19.70   Max.   :20.40  
##  NA's   :45      NA's   :67

Lets further arrange the data set

fruitl_dftemp <- pivot_longer(fruitlengthGherkin, names_to = "trial", values_to = "length", cols = starts_with("length"))

fruitl_df <- fruitl_dftemp[, -2]

fruitl_dfsumz =  summarise(fruitl_df, mean(fruitl_df),sd=sd(length))
## Warning in mean.default(fruitl_df): argument is not numeric or logical:
## returning NA
head(fruitl_dfsumz)
## # A tibble: 1 x 2
##   `mean(fruitl_df)`    sd
##               <dbl> <dbl>
## 1                NA    NA
fruitlsplit <- split.data.frame(fruitl_df, fruitl_df$treatment)


fruitlsplitmeans <- c()
fruitsplitsd <- c()
for (i  in 1:length(fruitlsplit)) {
  fruitlsplitmeans[i] <- mean(fruitlsplit[[i]]$length, na.rm = TRUE)
  fruitsplitsd[i] <- sd(fruitlsplit[[i]]$length, na.rm = TRUE)
}

fruitlmeans_df <- data_frame(unique(fruitl_df$treatment), fruitlsplitmeans, fruitsplitsd) %>% `colnames<-`(c("treatment", "mean", "sd"))
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## Please use `tibble()` instead.

Lets visualize the data

gflbarplot <- ggplot(fruitlmeans_df, aes(x=factor(treatment, level = c("ewcompjeewamurthum", "vircompjeewamurthum", "noadditivecomp", "indonesianfert", "inorganicfert", "normalsoil")), y=mean, color = "lightblue")) + 
  geom_bar(color = "black", stat="identity", alpha = 0.5, position = "dodge") + 
  geom_errorbar(color = "black", aes(ymin = mean - sd, ymax= mean + sd), stat = "identity", position = "dodge", size = 0.5, width = 0.2) + 
  labs(title = "", x="Treatment", y="Length of the fruit (cm)", family = "Times New Roman") +
  theme_bw() + 
    scale_x_discrete(labels=c("Compost + EWC + JM","Compost + JM", "Compost", "Indonesian fertilizer", "Inorganic fertilizer",  "Reference")) + 
  theme(
    panel.background = element_rect(fill = "transparent"), # bg of the panel
    plot.background = element_rect(fill = "transparent", color = NA), # bg of the plot
    panel.grid.major = element_blank(), # get rid of major grid
    panel.grid.minor = element_blank(),
    axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.title.x = element_text(face="bold", size=15, margin=margin(15,0,0,0), family = "Times New Roman"), 
    axis.text.x = element_text(size=8, face = "bold", colour = "black", family = "Times New Roman"),
    axis.title.y = element_text(face="bold", size=15, margin=margin(0,15,0,0), family = "Times New Roman"), 
    axis.text.y = element_text(size=9, face = "bold", colour = "black", family = "Times New Roman"),
    plot.title = element_text(lineheight=.8, face="bold",size=30, margin = margin(0,0,15,0), family = "Times New Roman"),
    )


ggsave(plot = gflbarplot, file = "gflbarplot.png", 
       type = "cairo-png",  bg = "transparent",
       width = 20, height = 15, units = "cm", dpi = 800)

gflbarplot

gflboxplot <- ggplot(fruitl_df, aes(x=treatment, y=length)) +
  geom_boxplot(stat = "boxplot") + 
  theme_bw() + 
    scale_x_discrete(labels=c("Compost + EWC + JM","Compost + JM", "Compost", "Indonesian fertilizer", "Inorganic fertilizer",  "Reference")) + 
  labs(title= "", x="Treatment", y="Length of the fruit (cm)", family = "Times New Roman") + 
  theme(
    panel.background = element_rect(fill = "transparent"), # bg of the panel
    plot.background = element_rect(fill = "transparent", color = NA), # bg of the plot
    panel.grid.major = element_blank(), # get rid of major grid
    panel.grid.minor = element_blank(),
    axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.title.x = element_text(face="bold", size=15, margin=margin(15,0,0,0), family = "Times New Roman"), 
    axis.text.x = element_text(size=8, face = "bold", colour = "black", family = "Times New Roman"),
    axis.title.y = element_text(face="bold", size=15, margin=margin(0,15,0,0), family = "Times New Roman"), 
    axis.text.y = element_text(size=9, face = "bold", colour = "black", family = "Times New Roman"),
    plot.title = element_text(lineheight=.8, face="bold",size=30, margin = margin(0,0,15,0), family = "Times New Roman"),
    )
  
ggsave(plot = gflboxplot, file = "gflboxplot.png", 
       type = "cairo-png",  bg = "transparent",
       width = 20, height = 15, units = "cm", dpi = 800)
## Warning: Removed 143 rows containing non-finite values (stat_boxplot).
gflboxplot
## Warning: Removed 143 rows containing non-finite values (stat_boxplot).

Highest mean fruit length was observed for indonesian fertiliser. However, the boxplot shows a consistency of larger sized fruits in compost and jeewamurthum treated virgin soil.

Higher number of outliers below the IQR for inorganic fertilizers.

ANOVA to statistically assess the difference of means.

gfl.aov <- aov(data = na.omit(fruitl_df), length ~ treatment)
summary(gfl.aov)
##              Df Sum Sq Mean Sq F value Pr(>F)
## treatment     5   30.5   6.094    1.58  0.163
## Residuals   751 2897.1   3.858

Fruit girth

summary(fruitgirthGherkin)
##   treatment             girth1          girth2          girth3     
##  Length:180         Min.   :11.80   Min.   :10.60   Min.   :11.30  
##  Class :character   1st Qu.:48.73   1st Qu.:45.57   1st Qu.:46.40  
##  Mode  :character   Median :53.42   Median :51.50   Median :51.06  
##                     Mean   :51.64   Mean   :49.80   Mean   :49.77  
##                     3rd Qu.:56.55   3rd Qu.:54.80   3rd Qu.:54.77  
##                     Max.   :70.40   Max.   :67.80   Max.   :71.50  
##                     NA's   :2       NA's   :7       NA's   :22     
##      girth4          girth5     
##  Min.   :13.20   Min.   :13.20  
##  1st Qu.:48.89   1st Qu.:46.67  
##  Median :52.00   Median :52.82  
##  Mean   :51.25   Mean   :51.95  
##  3rd Qu.:55.73   3rd Qu.:56.00  
##  Max.   :66.40   Max.   :69.95  
##  NA's   :45      NA's   :67
fruitg_dftemp <- pivot_longer(fruitgirthGherkin, names_to = "trial", values_to = "girth", cols = starts_with("girth"))

fruitg_df <- fruitg_dftemp[, -2]

fruitgsplit <- split.data.frame(fruitg_df, fruitg_df$treatment)


fruitgsplitmeans <- c()
fruitsplitsd <- c()
for (i  in 1:length(fruitgsplit)) {
  fruitgsplitmeans[i] <- mean(fruitgsplit[[i]]$girth, na.rm = TRUE)
  fruitsplitsd[i] <- sd(fruitgsplit[[i]]$girth, na.rm = TRUE)
}

fruitgmeans_df <- data_frame(unique(fruitg_df$treatment), fruitgsplitmeans, fruitsplitsd) %>% `colnames<-`(c("treatment", "mean", "sd"))
gfgbarplot <- ggplot(fruitgmeans_df, aes(x=factor(treatment, level = c("ewcompjeewamurthum", "vircompjeewamurthum", "noadditivecomp", "indonesianfert", "inorganicfert", "normalsoil")), y=mean, color = "lightblue")) + 
  geom_bar(color = "black", stat="identity", alpha = 0.5, position = "dodge") + 
  geom_errorbar(color = "black", aes(ymin = mean - sd, ymax= mean + sd), stat = "identity", position = "dodge", size = 0.5, width = 0.2) + 
  labs(title = "", x="Treatment", y="Girth of the fruit (cm)", family = "Times New Roman") +
  theme_bw() + 
    scale_x_discrete(labels=c("Compost + EWC + JM","Compost + JM", "Compost", "Indonesian fertilizer", "Inorganic fertilizer",  "Reference")) + 
  theme(
    panel.background = element_rect(fill = "transparent"), # bg of the panel
    plot.background = element_rect(fill = "transparent", color = NA), # bg of the plot
    panel.grid.major = element_blank(), # get rid of major grid
    panel.grid.minor = element_blank(),
    axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.title.x = element_text(face="bold", size=15, margin=margin(15,0,0,0), family = "Times New Roman"), 
    axis.text.x = element_text(size=8, face = "bold", colour = "black", family = "Times New Roman"),
    axis.title.y = element_text(face="bold", size=15, margin=margin(0,15,0,0), family = "Times New Roman"), 
    axis.text.y = element_text(size=9, face = "bold", colour = "black", family = "Times New Roman"),
    plot.title = element_text(lineheight=.8, face="bold",size=30, margin = margin(0,0,15,0), family = "Times New Roman"),
    )

ggsave(plot = gfgbarplot, file = "gfgbarplot.png", 
       type = "cairo-png",  bg = "transparent",
       width = 20, height = 15, units = "cm", dpi = 800)

gfgbarplot

gfgboxplot <- ggplot(fruitg_df, aes(x=treatment, y=girth)) +
  geom_boxplot(stat = "boxplot") + 
  theme_bw() + 
    scale_x_discrete(labels=c("Compost + EWC + JM","Compost + JM", "Compost", "Indonesian fertilizer", "Inorganic fertilizer",  "Reference")) + 
  labs(title= "", x="Treatment", y="Girth of the fruit (cm)", family = "Times New Roman") + 
  theme(
    panel.background = element_rect(fill = "transparent"), # bg of the panel
    plot.background = element_rect(fill = "transparent", color = NA), # bg of the plot
    panel.grid.major = element_blank(), # get rid of major grid
    panel.grid.minor = element_blank(),
    axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.title.x = element_text(face="bold", size=15, margin=margin(15,0,0,0), family = "Times New Roman"), 
    axis.text.x = element_text(size=8, face = "bold", colour = "black", family = "Times New Roman"),
    axis.title.y = element_text(face="bold", size=15, margin=margin(0,15,0,0), family = "Times New Roman"), 
    axis.text.y = element_text(size=9, face = "bold", colour = "black", family = "Times New Roman"),
    plot.title = element_text(lineheight=.8, face="bold",size=30, margin = margin(0,0,15,0), family = "Times New Roman"),
    )
  
ggsave(plot = gfgboxplot, file = "gfgboxplot.png", 
       type = "cairo-png",  bg = "transparent",
       width = 20, height = 15, units = "cm", dpi = 800)
## Warning: Removed 143 rows containing non-finite values (stat_boxplot).
gfgboxplot
## Warning: Removed 143 rows containing non-finite values (stat_boxplot).

Highest mean fruit length was observed for indonesian fertiliser. However, the boxplot shows a consistency of larger sized fruits in compost and jeewamurthum treated virgin soil.

Higher number of outliers below the IQR for inorganic fertilizers.

Lets perform ANOVA to statistically assess this.

gfg.aov <- aov(data = na.omit(fruitg_df), girth ~ treatment)
summary(gfg.aov)
##              Df Sum Sq Mean Sq F value Pr(>F)
## treatment     5    207   41.44   0.525  0.757
## Residuals   751  59264   78.91

Total yield (g)

summary(yieldGherkin)
##   treatment             yield       numoffruits    
##  Length:180         Min.   : 136   Min.   : 1.000  
##  Class :character   1st Qu.: 799   1st Qu.: 4.000  
##  Mode  :character   Median :1527   Median : 6.000  
##                     Mean   :1811   Mean   : 6.989  
##                     3rd Qu.:2520   3rd Qu.: 9.000  
##                     Max.   :6184   Max.   :21.000  
##                     NA's   :2      NA's   :2
yielddftemp <- filter(yieldGherkin, !is.na(yieldGherkin$yield))
summary(yielddftemp)
##   treatment             yield       numoffruits    
##  Length:178         Min.   : 136   Min.   : 1.000  
##  Class :character   1st Qu.: 799   1st Qu.: 4.000  
##  Mode  :character   Median :1527   Median : 6.000  
##                     Mean   :1811   Mean   : 6.989  
##                     3rd Qu.:2520   3rd Qu.: 9.000  
##                     Max.   :6184   Max.   :21.000
#calculating fruit weight
yield_df <- data.frame(yielddftemp$treatment,(yielddftemp$yield/yielddftemp$numoffruits)) 
colnames(yield_df) <-  c("treatment", "weight")
fruitw_df <- yield_df

fruitwsplit <- split.data.frame(fruitw_df, fruitw_df$treatment)


fruitwsplitmeans <- c()
fruitwsplitsd <- c()
for (i  in 1:length(fruitgsplit)) {
  fruitwsplitmeans[i] <- mean(fruitwsplit[[i]]$weight, na.rm = TRUE)
  fruitwsplitsd[i] <- sd(fruitwsplit[[i]]$weight, na.rm = TRUE)
}

fruitwmeans_df <- data_frame(unique(fruitw_df$treatment), fruitwsplitmeans, fruitwsplitsd) %>% `colnames<-`(c("treatment", "mean", "sd"))

Lets visualize the data

gfwbarplot <- ggplot(fruitwmeans_df, aes(x=factor(treatment, level = c("ewcompjeewamurthum", "vircompjeewamurthum", "noadditivecomp", "indonesianfert", "inorganicfert", "normalsoil")), y=mean, color = "lightblue")) + 
  geom_bar(color = "black", stat="identity", alpha = 0.5, position = "dodge") + 
  geom_errorbar(color = "black", aes(ymin = mean - sd, ymax= mean + sd), stat = "identity", position = "dodge", size = 0.5, width = 0.2) + 
  labs(title = "", x="Treatment", y="Weight of the fruit (g)", family = "Times New Roman") +
  theme_bw() + 
    scale_x_discrete(labels=c("Compost + EWC + JM","Compost + JM", "Compost", "Indonesian fertilizer", "Inorganic fertilizer",  "Reference")) + 
  theme(
    panel.background = element_rect(fill = "transparent"), # bg of the panel
    plot.background = element_rect(fill = "transparent", color = NA), # bg of the plot
    panel.grid.major = element_blank(), # get rid of major grid
    panel.grid.minor = element_blank(),
    axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.title.x = element_text(face="bold", size=15, margin=margin(15,0,0,0), family = "Times New Roman"), 
    axis.text.x = element_text(size=8, face = "bold", colour = "black", family = "Times New Roman"),
    axis.title.y = element_text(face="bold", size=15, margin=margin(0,15,0,0), family = "Times New Roman"), 
    axis.text.y = element_text(size=9, face = "bold", colour = "black", family = "Times New Roman"),
    plot.title = element_text(lineheight=.8, face="bold",size=30, margin = margin(0,0,15,0), family = "Times New Roman"),
    )


ggsave(plot = gfwbarplot, file = "gfwbarplot.png", 
       type = "cairo-png",  bg = "transparent",
       width = 20, height = 15, units = "cm", dpi = 800)
gfwbarplot

gfwboxplot <- ggplot(fruitw_df, aes(x=treatment, y=weight)) +
  geom_boxplot(stat = "boxplot") + 
  theme_bw() + 
    scale_x_discrete(labels=c("Compost + EWC + JM","Compost + JM", "Compost", "Indonesian fertilizer", "Inorganic fertilizer",  "Reference")) + 
  labs(title= "", x="Treatment", y="Weight of the fruit (g)", family = "Times New Roman") + 
  theme(
    panel.background = element_rect(fill = "transparent"), # bg of the panel
    plot.background = element_rect(fill = "transparent", color = NA), # bg of the plot
    panel.grid.major = element_blank(), # get rid of major grid
    panel.grid.minor = element_blank(),
    axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.title.x = element_text(face="bold", size=15, margin=margin(15,0,0,0), family = "Times New Roman"), 
    axis.text.x = element_text(size=8, face = "bold", colour = "black", family = "Times New Roman"),
    axis.title.y = element_text(face="bold", size=15, margin=margin(0,15,0,0), family = "Times New Roman"), 
    axis.text.y = element_text(size=9, face = "bold", colour = "black", family = "Times New Roman"),
    plot.title = element_text(lineheight=.8, face="bold",size=30, margin = margin(0,0,15,0), family = "Times New Roman"),
    )
  
ggsave(plot = gfwboxplot, file = "gfwboxplot.png", 
       type = "cairo-png",  bg = "transparent",
       width = 20, height = 15, units = "cm", dpi = 800)
gfwboxplot

Highest mean fruit length was observed for indonesian fertiliser. However, the boxplot shows a consistency of larger sized fruits in compost and jeewamurthum treated virgin soil.

Higher number of outliers below the IQR for inorganic fertilizers.

Lets perform ANOVA to statistically assess this.

gfw.aov <- aov(data = na.omit(fruitw_df), weight ~ treatment)
summary(gfw.aov)
##              Df  Sum Sq Mean Sq F value Pr(>F)
## treatment     5   26653    5331   0.671  0.646
## Residuals   172 1365448    7939

Survival rate

srsplit <- split.data.frame(srGherkin, srGherkin$treatment)


srsplitmeans <- c()
srsplitsd <- c()
for (i  in 1:length(srsplit)) {
  srsplitmeans[i] <- mean(srsplit[[i]]$survival, na.rm = TRUE)
  srsplitsd[i] <- sd(srsplit[[i]]$survival, na.rm = TRUE)
}

srmeans_df <- data_frame(unique(srGherkin$treatment), srsplitmeans, srsplitsd) %>% `colnames<-`(c("treatment", "mean", "sd"))
srbarplot <- ggplot(srmeans_df, aes(x=factor(treatment, level = c("ewcompjeewamurthum", "vircompjeewamurthum", "noadditivecomp", "indonesianfert", "inorganicfert", "normalsoil")), y=mean, color = "lightblue")) + 
  geom_bar(color = "black", stat="identity", alpha = 0.5, position = "dodge") + 
  geom_errorbar(color = "black", aes(ymin = mean - sd, ymax= mean + sd), stat = "identity", position = "dodge", size = 0.5, width = 0.2) + 
  labs(title = "", x="Treatment", y="Survival rate of the plants (%)", family = "Times New Roman") +
  theme_bw() + 
    scale_x_discrete(labels=c("Compost + EWC + JM","Compost + JM", "Compost", "Indonesian fertilizer", "Inorganic fertilizer",  "Reference")) + 
  theme(
    panel.background = element_rect(fill = "transparent"), # bg of the panel
    plot.background = element_rect(fill = "transparent", color = NA), # bg of the plot
    panel.grid.major = element_blank(), # get rid of major grid
    panel.grid.minor = element_blank(),
    axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.title.x = element_text(face="bold", size=15, margin=margin(15,0,0,0), family = "Times New Roman"), 
    axis.text.x = element_text(size=8, face = "bold", colour = "black", family = "Times New Roman"),
    axis.title.y = element_text(face="bold", size=15, margin=margin(0,15,0,0), family = "Times New Roman"), 
    axis.text.y = element_text(size=9, face = "bold", colour = "black", family = "Times New Roman"),
    plot.title = element_text(lineheight=.8, face="bold",size=30, margin = margin(0,0,15,0), family = "Times New Roman"),
    )


ggsave(plot = srbarplot, file = "srbarplot.png", 
       type = "cairo-png",  bg = "transparent",
       width = 20, height = 15, units = "cm", dpi = 800)
srbarplot

srboxplot <- ggplot(srGherkin, aes(x=treatment, y=survival)) +
  geom_boxplot(stat = "boxplot") + 
  theme_bw() + 
    scale_x_discrete(labels=c("Compost + EWC + JM","Compost + JM", "Compost", "Indonesian fertilizer", "Inorganic fertilizer",  "Reference")) + 
  labs(title= "", x="Treatment", y="Survival rate of the plants (%)", family = "Times New Roman") + 
  theme(
    panel.background = element_rect(fill = "transparent"), # bg of the panel
    plot.background = element_rect(fill = "transparent", color = NA), # bg of the plot
    panel.grid.major = element_blank(), # get rid of major grid
    panel.grid.minor = element_blank(),
    axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid'),
    axis.title.x = element_text(face="bold", size=15, margin=margin(15,0,0,0), family = "Times New Roman"), 
    axis.text.x = element_text(size=8, face = "bold", colour = "black", family = "Times New Roman"),
    axis.title.y = element_text(face="bold", size=15, margin=margin(0,15,0,0), family = "Times New Roman"), 
    axis.text.y = element_text(size=9, face = "bold", colour = "black", family = "Times New Roman"),
    plot.title = element_text(lineheight=.8, face="bold",size=30, margin = margin(0,0,15,0), family = "Times New Roman"),
    )
  
ggsave(plot = srboxplot, file = "srboxplot.png", 
       type = "cairo-png",  bg = "transparent",
       width = 20, height = 15, units = "cm", dpi = 800)
srboxplot

sr.aov <- aov(data = na.omit(srGherkin), survival ~ treatment)
summary(sr.aov)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## treatment    5   1290  258.03    2.81 0.0662 .
## Residuals   12   1102   91.83                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Interpretations

Bio-fertilizers perform better than inorganic fertilizers. However, these effects are not statistically significant according to one-way ANOVA (P>0.05).