water

options(width = 200)
library(readxl)
data_1 <- read_excel("data_final_230304.xlsx",
                     sheet = "Water Quality", 
                     range = "AZ7:BF50")

data_1 <- as.data.frame(data_1)

data_1
##           day   pH total_ammonia_nitrogen nitrite dissolved_oxygen temperature salinity
## 1  2023-01-16 8.10                   0.02   0.000            7.540       24.60     7.50
## 2  2023-01-17 8.22                     NA      NA            6.775       28.05     7.50
## 3  2023-01-18 8.07                     NA      NA            6.745       28.65     7.60
## 4  2023-01-19 8.17                   0.00   0.070            6.660       28.55     7.60
## 5  2023-01-20 8.16                     NA      NA            6.445       28.50     7.45
## 6  2023-01-21 8.08                     NA      NA            6.700       28.75     7.35
## 7  2023-01-22   NA                     NA      NA            6.485       28.75     7.40
## 8  2023-01-23 8.07                   0.00   0.087            6.560       28.50     7.35
## 9  2023-01-24 8.09                     NA      NA            6.890       28.45     7.30
## 10 2023-01-25 7.98                     NA      NA            6.950       28.75     7.40
## 11 2023-01-26 8.06                   0.00   0.120            7.335       27.40     7.15
## 12 2023-01-27 8.18                     NA      NA            7.055       28.00     7.10
## 13 2023-01-28   NA                     NA      NA            7.170       28.20     7.10
## 14 2023-01-29   NA                     NA      NA            7.225       28.65     7.20
## 15 2023-01-30   NA                   0.03   0.125            6.835       28.55     7.10
## 16 2023-01-31 8.02                     NA      NA            6.960       28.55     7.00
## 17 2023-02-01 8.10                     NA      NA            7.230       28.45     7.05
## 18 2023-02-02 8.13                   0.09   0.080            6.925       28.75     7.05
## 19 2023-02-03 8.24                     NA      NA            6.670       28.10     7.10
## 20 2023-02-04   NA                     NA      NA            6.680       28.80     7.00
## 21 2023-02-05   NA                     NA      NA            6.920       29.30     7.10
## 22 2023-02-06 8.05                   0.28   0.105            6.510       29.00     7.20
## 23 2023-02-07 8.16                     NA      NA            6.700       29.45     7.30
## 24 2023-02-08 8.08                     NA      NA            6.685       29.95     7.30
## 25 2023-02-09   NA                   0.00   0.190            6.680       30.00     7.35
## 26 2023-02-10 8.18                     NA      NA            6.470       29.80     7.40
## 27 2023-02-11   NA                     NA      NA            7.075       26.25     7.30
## 28 2023-02-12   NA                     NA      NA            7.495       24.65     7.35
## 29 2023-02-13 8.08                   0.00   0.082            7.875       24.45     7.30
## 30 2023-02-14 8.14                     NA      NA            6.660       29.05     7.25
## 31 2023-02-15   NA                     NA      NA            7.170       27.75     7.20
## 32 2023-02-16   NA                   0.00   0.175            6.715       28.45     7.20
## 33 2023-02-17 8.09                     NA      NA            6.835       28.05     7.10
## 34 2023-02-18   NA                     NA      NA            7.100       26.05     7.20
## 35 2023-02-19   NA                     NA      NA            7.500       26.30     7.20
## 36 2023-02-20   NA                   0.03   0.125            7.595       26.00     7.20
## 37 2023-02-21   NA                     NA      NA            7.180       27.70     7.25
## 38 2023-02-22   NA                     NA      NA            7.175       28.25     7.30
## 39 2023-02-23   NA                   0.07   0.115            7.110       28.30     7.35
## 40 2023-02-24 7.94                     NA      NA            7.065       28.55     7.40
## 41 2023-02-25   NA                     NA      NA            7.130       28.30     7.40
## 42 2023-02-26   NA                     NA      NA            7.040       28.45     7.40
## 43 2023-02-27   NA                   0.00   0.083            7.130       28.20     7.30
data_1$day <- 1:dim(data_1)[1]

oldpar <- par(no.readonly=TRUE)

par(mfrow = c(3, 2), mar = c(5, 5, 2, 1.5))

plot(pH ~ day,
     na.omit(data_1[, c("pH", "day")]),
     type = "l", col = 2, las = 1, lwd = 2,
     xaxs = "i", yaxs = "i",
     ylim = c(0, 10),
     xlim = c(data_1$day[1], data_1$day[length(data_1$day)]),
     xlab = "Days", ylab = "pH",
     main = "pH"
     )

plot(total_ammonia_nitrogen ~ day,
     na.omit(data_1[, c("total_ammonia_nitrogen", "day")]),
     type = "l", col = 3, las = 1, lwd = 2,
     xaxs = "i", yaxs = "i",
     ylim = c(0, 0.3),
     xlim = c(data_1$day[1], data_1$day[length(data_1$day)]),
     xlab = "Days", ylab = "Total ammonia nitrogen (ppm)",
     main = "Total ammonia nitrogen (ppm)"
)

plot(nitrite ~ day,
     na.omit(data_1[, c("nitrite", "day")]),
     type = "l", col = 4, las = 1, lwd = 2,
     xaxs = "i", yaxs = "i",
     ylim = c(0, 0.2),
     xlim = c(data_1$day[1], data_1$day[length(data_1$day)]),
     xlab = "Days", ylab = "Nitrite (ppm)",
     main = "Nitrite (ppm)"
)

plot(dissolved_oxygen ~ day,
     na.omit(data_1[, c("dissolved_oxygen", "day")]),
     type = "l", col = 5, las = 1, lwd = 2,
     xaxs = "i", yaxs = "i",
     ylim = c(0, 9),
     xlim = c(data_1$day[1], data_1$day[length(data_1$day)]),
     xlab = "Days", ylab = "Dissolved oxygen (ppm)",
     main = "Dissolved oxygen (ppm)"
)

plot(temperature ~ day,
     na.omit(data_1[, c("temperature", "day")]),
     type = "l", col = 6, las = 1, lwd = 2,
     xaxs = "i", yaxs = "i",
     ylim = c(0, 35),
     xlim = c(data_1$day[1], data_1$day[length(data_1$day)]),
     xlab = "Days", ylab = "Temperature (°C)",
     main = "Temperature (°C)"
)

plot(salinity ~ day,
     na.omit(data_1[, c("salinity", "day")]),
     type = "l", col = 7, las = 1, lwd = 2,
     xaxs = "i", yaxs = "i",
     ylim = c(0, 8),
     xlim = c(data_1$day[1], data_1$day[length(data_1$day)]),
     xlab = "Days", ylab = "Salinity (ppt)",
     main = "Salinity (ppt)"
)

par(oldpar)
library(zoo)
library(lattice)
z <- read.zoo(data_1, FUN = identity)
xyplot(na.approx(z),
       type = "l", col = "red",lwd = 2, xlab = "Ngày",
       main = "Số liệu phân tích nước | Đợt 1 | 2022",
       strip = strip.custom(factor.levels = c("pH", "Total ammonia nitrogen (ppm)", "Nitrite (ppm)", "Dissolved oxygen (ppm)", "Temperature (°C)", "Salinity (ppt)")),
            par.settings = list(
            strip.background = list(col="yellow"))
       )