library(readr)
library(stringr)
library(VIM)
## Loading required package: colorspace
## Loading required package: grid
## VIM is ready to use.
## Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues
## 
## Attaching package: 'VIM'
## The following object is masked from 'package:datasets':
## 
##     sleep
dirty_iris <- read.csv("https://raw.githubusercontent.com/edwindj/datacleaning/master/data/dirty_iris.csv")

sum(is.na(dirty_iris$Petal.Length))
## [1] 19
sum(complete.cases(dirty_iris))
## [1] 96
nrow(dirty_iris)
## [1] 150
96/150 * 100
## [1] 64
is.na(dirty_iris)
##        Sepal.Length Sepal.Width Petal.Length Petal.Width Species
##   [1,]        FALSE       FALSE        FALSE       FALSE   FALSE
##   [2,]        FALSE       FALSE        FALSE       FALSE   FALSE
##   [3,]        FALSE        TRUE        FALSE       FALSE   FALSE
##   [4,]        FALSE       FALSE        FALSE       FALSE   FALSE
##   [5,]        FALSE       FALSE        FALSE       FALSE   FALSE
##   [6,]        FALSE        TRUE         TRUE       FALSE   FALSE
##   [7,]        FALSE       FALSE        FALSE        TRUE   FALSE
##   [8,]        FALSE       FALSE        FALSE       FALSE   FALSE
##   [9,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [10,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [11,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [12,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [13,]        FALSE       FALSE        FALSE        TRUE   FALSE
##  [14,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [15,]         TRUE       FALSE        FALSE       FALSE   FALSE
##  [16,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [17,]        FALSE        TRUE        FALSE       FALSE   FALSE
##  [18,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [19,]         TRUE       FALSE         TRUE       FALSE   FALSE
##  [20,]        FALSE        TRUE        FALSE       FALSE   FALSE
##  [21,]        FALSE       FALSE         TRUE       FALSE   FALSE
##  [22,]        FALSE        TRUE        FALSE       FALSE   FALSE
##  [23,]        FALSE       FALSE         TRUE       FALSE   FALSE
##  [24,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [25,]         TRUE       FALSE        FALSE       FALSE   FALSE
##  [26,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [27,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [28,]        FALSE       FALSE        FALSE        TRUE   FALSE
##  [29,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [30,]         TRUE       FALSE        FALSE       FALSE   FALSE
##  [31,]        FALSE       FALSE         TRUE       FALSE   FALSE
##  [32,]        FALSE       FALSE        FALSE        TRUE   FALSE
##  [33,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [34,]        FALSE       FALSE         TRUE       FALSE   FALSE
##  [35,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [36,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [37,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [38,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [39,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [40,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [41,]        FALSE        TRUE        FALSE       FALSE   FALSE
##  [42,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [43,]        FALSE        TRUE        FALSE       FALSE   FALSE
##  [44,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [45,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [46,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [47,]        FALSE        TRUE         TRUE       FALSE   FALSE
##  [48,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [49,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [50,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [51,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [52,]        FALSE       FALSE         TRUE       FALSE   FALSE
##  [53,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [54,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [55,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [56,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [57,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [58,]         TRUE       FALSE        FALSE       FALSE   FALSE
##  [59,]        FALSE       FALSE        FALSE        TRUE   FALSE
##  [60,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [61,]        FALSE       FALSE        FALSE        TRUE   FALSE
##  [62,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [63,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [64,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [65,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [66,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [67,]        FALSE       FALSE         TRUE       FALSE   FALSE
##  [68,]         TRUE       FALSE        FALSE       FALSE   FALSE
##  [69,]        FALSE       FALSE         TRUE        TRUE   FALSE
##  [70,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [71,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [72,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [73,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [74,]        FALSE        TRUE        FALSE       FALSE   FALSE
##  [75,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [76,]        FALSE       FALSE        FALSE        TRUE   FALSE
##  [77,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [78,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [79,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [80,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [81,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [82,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [83,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [84,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [85,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [86,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [87,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [88,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [89,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [90,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [91,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [92,]        FALSE        TRUE        FALSE       FALSE   FALSE
##  [93,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [94,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [95,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [96,]        FALSE       FALSE         TRUE       FALSE   FALSE
##  [97,]        FALSE       FALSE        FALSE       FALSE   FALSE
##  [98,]        FALSE        TRUE        FALSE       FALSE   FALSE
##  [99,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [100,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [101,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [102,]        FALSE       FALSE         TRUE       FALSE   FALSE
## [103,]        FALSE       FALSE        FALSE        TRUE   FALSE
## [104,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [105,]        FALSE       FALSE         TRUE       FALSE   FALSE
## [106,]        FALSE        TRUE        FALSE       FALSE   FALSE
## [107,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [108,]        FALSE       FALSE        FALSE        TRUE   FALSE
## [109,]        FALSE       FALSE         TRUE       FALSE   FALSE
## [110,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [111,]        FALSE       FALSE         TRUE       FALSE   FALSE
## [112,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [113,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [114,]         TRUE       FALSE        FALSE       FALSE   FALSE
## [115,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [116,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [117,]        FALSE        TRUE        FALSE       FALSE   FALSE
## [118,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [119,]         TRUE       FALSE        FALSE       FALSE   FALSE
## [120,]         TRUE       FALSE        FALSE       FALSE   FALSE
## [121,]        FALSE       FALSE         TRUE       FALSE   FALSE
## [122,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [123,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [124,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [125,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [126,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [127,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [128,]        FALSE        TRUE        FALSE       FALSE   FALSE
## [129,]        FALSE       FALSE         TRUE       FALSE   FALSE
## [130,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [131,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [132,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [133,]        FALSE        TRUE        FALSE       FALSE   FALSE
## [134,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [135,]        FALSE       FALSE        FALSE        TRUE   FALSE
## [136,]        FALSE       FALSE         TRUE       FALSE   FALSE
## [137,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [138,]         TRUE       FALSE        FALSE       FALSE   FALSE
## [139,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [140,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [141,]        FALSE        TRUE        FALSE       FALSE   FALSE
## [142,]        FALSE        TRUE        FALSE       FALSE   FALSE
## [143,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [144,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [145,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [146,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [147,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [148,]        FALSE       FALSE        FALSE       FALSE   FALSE
## [149,]        FALSE       FALSE         TRUE       FALSE   FALSE
## [150,]        FALSE       FALSE        FALSE        TRUE   FALSE
which(is.nan(dirty_iris$Sepal.Length))
## integer(0)
which(is.nan(dirty_iris$Sepal.Width))
## integer(0)
which(is.nan(dirty_iris$Petal.Length))
## integer(0)
which(is.nan(dirty_iris$Petal.Width))
## integer(0)
which(is.infinite(dirty_iris$Sepal.Length))
## integer(0)
which(is.infinite(dirty_iris$Sepal.Width))
## integer(0)
which(is.infinite(dirty_iris$Petal.Length))
## integer(0)
which(is.infinite(dirty_iris$Petal.Width))
## [1] 86
which(is.infinite(dirty_iris$Petal.Width) & dirty_iris < 0)
## integer(0)
dirty_iris[86,4]
## [1] Inf

There is a special value Inf in Petal Width, checked to see if it is negative and it is not

dirty_iris[is.infinite(dirty_iris$Petal.Width), "Petal.Width"] = NA
dirty_iris[86,4]
## [1] NA
errors_recognized <- subset(dirty_iris, Sepal.Width <= 0 | Sepal.Length > 30)
errors_recognized
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 16           5.0          -3          3.5         1.0 versicolor
## 28          73.0          29         63.0          NA  virginica
## 125         49.0          30         14.0         2.0     setosa
## 130          5.7           0          1.7         0.3     setosa
nrow(errors_recognized)
## [1] 4
sepal_width_errors <- dirty_iris[dirty_iris$Sepal.Width <= 0,]
sepal_width_errors
##       Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## NA              NA          NA           NA          NA       <NA>
## NA.1            NA          NA           NA          NA       <NA>
## 16             5.0          -3          3.5         1.0 versicolor
## NA.2            NA          NA           NA          NA       <NA>
## NA.3            NA          NA           NA          NA       <NA>
## NA.4            NA          NA           NA          NA       <NA>
## NA.5            NA          NA           NA          NA       <NA>
## NA.6            NA          NA           NA          NA       <NA>
## NA.7            NA          NA           NA          NA       <NA>
## NA.8            NA          NA           NA          NA       <NA>
## NA.9            NA          NA           NA          NA       <NA>
## NA.10           NA          NA           NA          NA       <NA>
## NA.11           NA          NA           NA          NA       <NA>
## NA.12           NA          NA           NA          NA       <NA>
## NA.13           NA          NA           NA          NA       <NA>
## 130            5.7           0          1.7         0.3     setosa
## NA.14           NA          NA           NA          NA       <NA>
## NA.15           NA          NA           NA          NA       <NA>
## NA.16           NA          NA           NA          NA       <NA>
abs(dirty_iris$Sepal.Width[dirty_iris$Sepal.Width < 0])
##  [1] NA NA  3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
dirty_iris[16,2] <- abs(dirty_iris[16, 2])
dirty_iris$Sepal.Width[dirty_iris$Sepal.Width == 0] <- NA


mean(dirty_iris$Sepal.Width, na.rm = TRUE)
## [1] 3.462121
median(dirty_iris$Petal.Length, na.rm = TRUE)
## [1] 4.5
lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data = dirty_iris)
## 
## Call:
## lm(formula = Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, 
##     data = dirty_iris)
## 
## Coefficients:
##  (Intercept)   Sepal.Width  Petal.Length   Petal.Width  
##      -0.3282        1.5127        0.1048        0.9860
kNN(dirty_iris, variable = "Petal.Width")
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 1            6.4         3.2        4.500         1.5 versicolor
## 2            6.3         3.3        6.000         2.5  virginica
## 3            6.2          NA        5.400         2.3  virginica
## 4            5.0         3.4        1.600         0.4     setosa
## 5            5.7         2.6        3.500         1.0 versicolor
## 6            5.3          NA           NA         0.2     setosa
## 7            6.4         2.7        5.300         1.9  virginica
## 8            5.9         3.0        5.100         1.8  virginica
## 9            5.8         2.7        4.100         1.0 versicolor
## 10           4.8         3.1        1.600         0.2     setosa
## 11           5.0         3.5        1.600         0.6     setosa
## 12           6.0         2.7        5.100         1.6 versicolor
## 13           6.0         3.0        4.800         2.0  virginica
## 14           6.8         2.8        4.800         1.4 versicolor
## 15            NA         3.9        1.700         0.4     setosa
## 16           5.0         3.0        3.500         1.0 versicolor
## 17           5.5          NA        4.000         1.3 versicolor
## 18           4.7         3.2        1.300         0.2     setosa
## 19            NA         4.0           NA         0.2     setosa
## 20           5.6          NA        4.200         1.3 versicolor
## 21           4.9         3.6           NA         0.1     setosa
## 22           5.4          NA        4.500         1.5 versicolor
## 23           6.2         2.8           NA         1.8  virginica
## 24           6.7         3.3        5.700         2.5  virginica
## 25            NA         3.0        5.900         2.1  virginica
## 26           4.6         3.2        1.400         0.2     setosa
## 27           4.9         3.1        1.500         0.1     setosa
## 28          73.0        29.0       63.000         2.0  virginica
## 29           6.5         3.2        5.100         2.0  virginica
## 30            NA         2.8        0.820         1.3 versicolor
## 31           4.4         3.2           NA         0.2     setosa
## 32           5.9         3.2        4.800         1.5 versicolor
## 33           5.7         2.8        4.500         1.3 versicolor
## 34           6.2         2.9           NA         1.3 versicolor
## 35           6.6         2.9       23.000         1.3 versicolor
## 36           4.8         3.0        1.400         0.1     setosa
## 37           6.5         3.0        5.500         1.8  virginica
## 38           6.2         2.2        4.500         1.5 versicolor
## 39           6.7         2.5        5.800         1.8  virginica
## 40           5.0         3.0        1.600         0.2     setosa
## 41           5.0          NA        1.200         0.2     setosa
## 42           5.8         2.7        3.900         1.2 versicolor
## 43           0.0          NA        1.300         0.4     setosa
## 44           5.8         2.7        5.100         1.9  virginica
## 45           5.5         4.2        1.400         0.2     setosa
## 46           7.7         2.8        6.700         2.0  virginica
## 47           5.7          NA           NA         0.4     setosa
## 48           7.0         3.2        4.700         1.4 versicolor
## 49           6.5         3.0        5.800         2.2  virginica
## 50           6.0         3.4        4.500         1.6 versicolor
## 51           5.5         2.6        4.400         1.2 versicolor
## 52           4.9         3.1           NA         0.2     setosa
## 53           5.2         2.7        3.900         1.4 versicolor
## 54           4.8         3.4        1.600         0.2     setosa
## 55           6.3         3.3        4.700         1.6 versicolor
## 56           7.7         3.8        6.700         2.2  virginica
## 57           5.1         3.8        1.500         0.3     setosa
## 58            NA         2.9        4.500         1.5 versicolor
## 59           6.4         2.8        5.600         1.8  virginica
## 60           6.4         2.8        5.600         2.1  virginica
## 61           5.0         2.3        3.300         1.1 versicolor
## 62           7.4         2.8        6.100         1.9  virginica
## 63           4.3         3.0        1.100         0.1     setosa
## 64           5.0         3.3        1.400         0.2     setosa
## 65           7.2         3.0        5.800         1.6  virginica
## 66           6.3         2.5        4.900         1.5 versicolor
## 67           5.1         2.5           NA         1.1 versicolor
## 68            NA         3.2        5.700         2.3  virginica
## 69           5.1         3.5           NA         0.2     setosa
## 70           5.0         3.5        1.300         0.3     setosa
## 71           6.1         3.0        4.600         1.4 versicolor
## 72           6.9         3.1        5.100         2.3  virginica
## 73           5.1         3.5        1.400         0.3     setosa
## 74           6.5          NA        4.600         1.5 versicolor
## 75           5.6         2.8        4.900         2.0  virginica
## 76           4.9         2.5        4.500         1.9  virginica
## 77           5.5         3.5        1.300         0.2     setosa
## 78           7.6         3.0        6.600         2.1  virginica
## 79           5.1         3.8        0.000         0.2     setosa
## 80           7.9         3.8        6.400         2.0  virginica
## 81           6.1         2.6        5.600         1.4  virginica
## 82           5.4         3.4        1.700         0.2     setosa
## 83           6.1         2.9        4.700         1.4 versicolor
## 84           5.4         3.7        1.500         0.2     setosa
## 85           6.7         3.0        5.200         2.3  virginica
## 86           5.1         3.8        1.900         0.2     setosa
## 87           6.4         2.9        4.300         1.3 versicolor
## 88           5.7         2.9        4.200         1.3 versicolor
## 89           4.4         2.9        1.400         0.2     setosa
## 90           6.3         2.5        5.000         1.9  virginica
## 91           7.2         3.2        6.000         1.8  virginica
## 92           4.9          NA        3.300         1.0 versicolor
## 93           5.2         3.4        1.400         0.2     setosa
## 94           5.8         2.7        5.100         1.9  virginica
## 95           6.0         2.2        5.000         1.5  virginica
## 96           6.9         3.1           NA         1.5 versicolor
## 97           5.5         2.3        4.000         1.3 versicolor
## 98           6.7          NA        5.000         1.7 versicolor
## 99           5.7         3.0        4.200         1.2 versicolor
## 100          6.3         2.8        5.100         1.5  virginica
## 101          5.4         3.4        1.500         0.4     setosa
## 102          7.2         3.6           NA         2.5  virginica
## 103          6.3         2.7        4.900         1.9  virginica
## 104          5.6         3.0        4.100         1.3 versicolor
## 105          5.1         3.7           NA         0.4     setosa
## 106          5.5          NA        0.925         1.0 versicolor
## 107          6.5         3.0        5.200         2.0  virginica
## 108          4.8         3.0        1.400         0.2     setosa
## 109          6.1         2.8           NA         1.3 versicolor
## 110          4.6         3.4        1.400         0.3     setosa
## 111          6.3         3.4           NA         2.4  virginica
## 112          5.0         3.4        1.500         0.2     setosa
## 113          5.1         3.4        1.500         0.2     setosa
## 114           NA         3.3        5.700         2.1  virginica
## 115          6.7         3.1        4.700         1.5 versicolor
## 116          7.7         2.6        6.900         2.3  virginica
## 117          6.3          NA        4.400         1.3 versicolor
## 118          4.6         3.1        1.500         0.2     setosa
## 119           NA         3.0        5.500         2.1  virginica
## 120           NA         2.8        4.700         1.2 versicolor
## 121          5.9         3.0           NA         1.5 versicolor
## 122          4.5         2.3        1.300         0.3     setosa
## 123          6.4         3.2        5.300         2.3  virginica
## 124          5.2         4.1        1.500         0.1     setosa
## 125         49.0        30.0       14.000         2.0     setosa
## 126          5.6         2.9        3.600         1.3 versicolor
## 127          6.8         3.2        5.900         2.3  virginica
## 128          5.8          NA        5.100         2.4  virginica
## 129          4.6         3.6           NA         0.2     setosa
## 130          5.7          NA        1.700         0.3     setosa
## 131          5.6         2.5        3.900         1.1 versicolor
## 132          6.7         3.1        4.400         1.4 versicolor
## 133          4.8          NA        1.900         0.2     setosa
## 134          5.1         3.3        1.700         0.5     setosa
## 135          4.4         3.0        1.300         0.2     setosa
## 136          7.7         3.0           NA         2.3  virginica
## 137          4.7         3.2        1.600         0.2     setosa
## 138           NA         3.0        4.900         1.8  virginica
## 139          6.9         3.1        5.400         2.1  virginica
## 140          6.0         2.2        4.000         1.0 versicolor
## 141          5.0          NA        1.400         0.2     setosa
## 142          5.5          NA        3.800         1.1 versicolor
## 143          6.6         3.0        4.400         1.4 versicolor
## 144          6.3         2.9        5.600         1.8  virginica
## 145          5.7         2.5        5.000         2.0  virginica
## 146          6.7         3.1        5.600         2.4  virginica
## 147          5.6         3.0        4.500         1.5 versicolor
## 148          5.2         3.5        1.500         0.2     setosa
## 149          6.4         3.1           NA         1.8  virginica
## 150          5.8         2.6        4.000         1.1 versicolor
##     Petal.Width_imp
## 1             FALSE
## 2             FALSE
## 3             FALSE
## 4             FALSE
## 5             FALSE
## 6             FALSE
## 7              TRUE
## 8             FALSE
## 9             FALSE
## 10            FALSE
## 11            FALSE
## 12            FALSE
## 13             TRUE
## 14            FALSE
## 15            FALSE
## 16            FALSE
## 17            FALSE
## 18            FALSE
## 19            FALSE
## 20            FALSE
## 21            FALSE
## 22            FALSE
## 23            FALSE
## 24            FALSE
## 25            FALSE
## 26            FALSE
## 27            FALSE
## 28             TRUE
## 29            FALSE
## 30            FALSE
## 31            FALSE
## 32             TRUE
## 33            FALSE
## 34            FALSE
## 35            FALSE
## 36            FALSE
## 37            FALSE
## 38            FALSE
## 39            FALSE
## 40            FALSE
## 41            FALSE
## 42            FALSE
## 43            FALSE
## 44            FALSE
## 45            FALSE
## 46            FALSE
## 47            FALSE
## 48            FALSE
## 49            FALSE
## 50            FALSE
## 51            FALSE
## 52            FALSE
## 53            FALSE
## 54            FALSE
## 55            FALSE
## 56            FALSE
## 57            FALSE
## 58            FALSE
## 59             TRUE
## 60            FALSE
## 61             TRUE
## 62            FALSE
## 63            FALSE
## 64            FALSE
## 65            FALSE
## 66            FALSE
## 67            FALSE
## 68            FALSE
## 69             TRUE
## 70            FALSE
## 71            FALSE
## 72            FALSE
## 73            FALSE
## 74            FALSE
## 75            FALSE
## 76             TRUE
## 77            FALSE
## 78            FALSE
## 79            FALSE
## 80            FALSE
## 81            FALSE
## 82            FALSE
## 83            FALSE
## 84            FALSE
## 85            FALSE
## 86             TRUE
## 87            FALSE
## 88            FALSE
## 89            FALSE
## 90            FALSE
## 91            FALSE
## 92            FALSE
## 93            FALSE
## 94            FALSE
## 95            FALSE
## 96            FALSE
## 97            FALSE
## 98            FALSE
## 99            FALSE
## 100           FALSE
## 101           FALSE
## 102           FALSE
## 103            TRUE
## 104           FALSE
## 105           FALSE
## 106           FALSE
## 107           FALSE
## 108            TRUE
## 109           FALSE
## 110           FALSE
## 111           FALSE
## 112           FALSE
## 113           FALSE
## 114           FALSE
## 115           FALSE
## 116           FALSE
## 117           FALSE
## 118           FALSE
## 119           FALSE
## 120           FALSE
## 121           FALSE
## 122           FALSE
## 123           FALSE
## 124           FALSE
## 125           FALSE
## 126           FALSE
## 127           FALSE
## 128           FALSE
## 129           FALSE
## 130           FALSE
## 131           FALSE
## 132           FALSE
## 133           FALSE
## 134           FALSE
## 135            TRUE
## 136           FALSE
## 137           FALSE
## 138           FALSE
## 139           FALSE
## 140           FALSE
## 141           FALSE
## 142           FALSE
## 143           FALSE
## 144           FALSE
## 145           FALSE
## 146           FALSE
## 147           FALSE
## 148           FALSE
## 149           FALSE
## 150            TRUE