library(dplyr);
## Warning: package 'dplyr' was built under R version 4.5.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(zoo);
## Warning: package 'zoo' was built under R version 4.5.2
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
p=datasets::beaver2;
p=p%>% arrange(time)
p
## day time temp activ
## 1 308 0 37.70 1
## 2 308 10 37.46 1
## 3 308 20 37.41 1
## 4 308 30 37.46 1
## 5 308 40 37.56 1
## 6 308 50 37.55 1
## 7 308 100 37.75 1
## 8 308 110 37.76 1
## 9 308 120 37.73 1
## 10 308 130 37.77 1
## 11 308 140 38.01 1
## 12 308 150 38.04 1
## 13 308 200 38.07 1
## 14 307 930 36.58 0
## 15 307 940 36.73 0
## 16 307 950 36.93 0
## 17 307 1000 37.15 0
## 18 307 1010 37.23 0
## 19 307 1020 37.24 0
## 20 307 1030 37.24 0
## 21 307 1040 36.90 0
## 22 307 1050 36.95 0
## 23 307 1100 36.89 0
## 24 307 1110 36.95 0
## 25 307 1120 37.00 0
## 26 307 1130 36.90 0
## 27 307 1140 36.99 0
## 28 307 1150 36.99 0
## 29 307 1200 37.01 0
## 30 307 1210 37.04 0
## 31 307 1220 37.04 0
## 32 307 1230 37.14 0
## 33 307 1240 37.07 0
## 34 307 1250 36.98 0
## 35 307 1300 37.01 0
## 36 307 1310 36.97 0
## 37 307 1320 36.97 0
## 38 307 1330 37.12 0
## 39 307 1340 37.13 0
## 40 307 1350 37.14 0
## 41 307 1400 37.15 0
## 42 307 1410 37.17 0
## 43 307 1420 37.12 0
## 44 307 1430 37.12 0
## 45 307 1440 37.17 0
## 46 307 1450 37.28 0
## 47 307 1500 37.28 0
## 48 307 1510 37.44 0
## 49 307 1520 37.51 0
## 50 307 1530 37.64 0
## 51 307 1540 37.51 0
## 52 307 1550 37.98 1
## 53 307 1600 38.02 1
## 54 307 1610 38.00 1
## 55 307 1620 38.24 1
## 56 307 1630 38.10 1
## 57 307 1640 38.24 1
## 58 307 1650 38.11 1
## 59 307 1700 38.02 1
## 60 307 1710 38.11 1
## 61 307 1720 38.01 1
## 62 307 1730 37.91 1
## 63 307 1740 37.96 1
## 64 307 1750 38.03 1
## 65 307 1800 38.17 1
## 66 307 1810 38.19 1
## 67 307 1820 38.18 1
## 68 307 1830 38.15 1
## 69 307 1840 38.04 1
## 70 307 1850 37.96 1
## 71 307 1900 37.84 1
## 72 307 1910 37.83 1
## 73 307 1920 37.84 1
## 74 307 1930 37.74 1
## 75 307 1940 37.76 1
## 76 307 1950 37.76 1
## 77 307 2000 37.64 1
## 78 307 2010 37.63 1
## 79 307 2020 38.06 1
## 80 307 2030 38.19 1
## 81 307 2040 38.35 1
## 82 307 2050 38.25 1
## 83 307 2100 37.86 1
## 84 307 2110 37.95 1
## 85 307 2120 37.95 1
## 86 307 2130 37.76 1
## 87 307 2140 37.60 1
## 88 307 2150 37.89 1
## 89 307 2200 37.86 1
## 90 307 2210 37.71 1
## 91 307 2220 37.78 1
## 92 307 2230 37.82 1
## 93 307 2240 37.76 1
## 94 307 2250 37.81 1
## 95 307 2300 37.84 1
## 96 307 2310 38.01 1
## 97 307 2320 38.10 1
## 98 307 2330 38.15 1
## 99 307 2340 37.92 1
## 100 307 2350 37.64 1
plot(x=p$time, y=p$temp, xlab = "Time (Minutes)", ylab="Temperature")

anyNA.data.frame(p)
## [1] FALSE
anyDuplicated.data.frame(p)
## [1] 0
c=IQR(p$temp);
Q3=p$temp[nrow(p)*0.75];
Q1=p$temp[nrow(p)*0.25];
max(p$temp)>Q3+1.5*c
## [1] FALSE
min(p$temp)<Q3-1.5*c
## [1] FALSE