A prime number is an integer in which two whole numbers cannot be multiplied to get that integer.
For example, 4 is not a prime number because 2x2 = 4. But, 5 is a prime number because no two same whole numbers can be multiplied in order to get 5.
The Package that I have created contains the function ‘is.prime()’ where if you input an integer it will return a logical answer of either TRUE or FALSE.
library(ly)
is.prime(4)
## [1] FALSE
is.prime(5)
## [1] TRUE
As we can see here, the first command is.prime(4) returned a false statement because as stated before, 4 is not a prime number because two equal whole numbers can be multiplied together in order to get 4, but 5 does not.
If we were to use a data frame we could use this function to test if an observation is a prime number or not.
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
is.prime(mtcars[1,3])
## [1] FALSE
The Mazda RX4 displacement or engine size of 160 is not a prime number.
Taking a look at the script that provides the function, the function only contains an if else statement.
is.prime <- function(x) {
if (x == 2) {
TRUE
} else if (any(x %% 2:(x-1) == 0)) {
FALSE
} else {
TRUE
}
}
If we were to get a number that is greater than 2 (1 is considered not a prime number), if that number can divide itself by 2 with both products equaling to each other but not also equal to 0 then the function will return TRUE, if not it will return FALSE.
is.prime <- function(x) {
if (x == 2) {
TRUE
} else if (any(x %% 2:(x-1) == 0)) {
FALSE
} else {
TRUE
}
}
is.prime(574389)
## [1] FALSE