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