1- Create a function named calculate_area_of_circle that takes one parameter, radius, representing the radius of a circle. The function should calculate and return the area using the formula:
area = đťś‹ Ă— radius^2
Test your function with at least two different radii and print the results.
calculate_area_of_circle <- function(radius) {
area <- pi * radius^2
print(area)
}
calculate_area_of_circle(2)
## [1] 12.56637
calculate_area_of_circle(5)
## [1] 78.53982
2- Write a function called check_temperature that takes a single numeric input temp.
If temp > 30, print “Hot”
If temp >= 15 & temp <= 30, print “Warm”
Otherwise, print “Cold”
Test the function on three different values (e.g., 10, 20, 35).
check_temperature <- function(temp) {
if (temp > 30) {
print("Hot")
} else if (temp >= 15 && temp <= 30) {
print("Warm")
} else {
print("Cold")
}
}
check_temperature(60)
## [1] "Hot"
check_temperature(10)
## [1] "Cold"
check_temperature(20)
## [1] "Warm"
3- Write a function named sum_odd_numbers that uses a for loop to calculate the sum of all odd numbers from 1 to n. The function should return the total sum.
Test the function with n = 9 and n = 39.
sum_odd_numbers <- function(n) {
total <- 0
for (i in 1 : n) {
if (i %% 2 == 1) {
total <- total + i
}
}
print(total)
}
sum_odd_numbers(9)
## [1] 25
sum_odd_numbers(39)
## [1] 400
For this section, use the built-in mtcars dataset. Perform the following:
Check the structure of the dataset.
Display the summary statistics.
Check for any missing values.
Write a question about the dataset and answer it using functions you learned in this class. Print the output of the answer.
data(mtcars)
str(mtcars)
## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
summary(mtcars)
## mpg cyl disp hp
## Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
## 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
## Median :19.20 Median :6.000 Median :196.3 Median :123.0
## Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
## 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
## Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
## drat wt qsec vs
## Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
## 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
## Median :3.695 Median :3.325 Median :17.71 Median :0.0000
## Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
## 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
## Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
## am gear carb
## Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :5.000 Max. :8.000
is.na(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear
## Mazda RX4 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Mazda RX4 Wag FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Datsun 710 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Hornet 4 Drive FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Hornet Sportabout FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Valiant FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Duster 360 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 240D FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 230 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 280 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 280C FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 450SE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 450SL FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 450SLC FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Cadillac Fleetwood FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Lincoln Continental FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Chrysler Imperial FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Fiat 128 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Honda Civic FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Toyota Corolla FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Toyota Corona FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Dodge Challenger FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## AMC Javelin FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Camaro Z28 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Pontiac Firebird FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Fiat X1-9 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Porsche 914-2 FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Lotus Europa FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Ford Pantera L FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Ferrari Dino FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Maserati Bora FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Volvo 142E FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## carb
## Mazda RX4 FALSE
## Mazda RX4 Wag FALSE
## Datsun 710 FALSE
## Hornet 4 Drive FALSE
## Hornet Sportabout FALSE
## Valiant FALSE
## Duster 360 FALSE
## Merc 240D FALSE
## Merc 230 FALSE
## Merc 280 FALSE
## Merc 280C FALSE
## Merc 450SE FALSE
## Merc 450SL FALSE
## Merc 450SLC FALSE
## Cadillac Fleetwood FALSE
## Lincoln Continental FALSE
## Chrysler Imperial FALSE
## Fiat 128 FALSE
## Honda Civic FALSE
## Toyota Corolla FALSE
## Toyota Corona FALSE
## Dodge Challenger FALSE
## AMC Javelin FALSE
## Camaro Z28 FALSE
## Pontiac Firebird FALSE
## Fiat X1-9 FALSE
## Porsche 914-2 FALSE
## Lotus Europa FALSE
## Ford Pantera L FALSE
## Ferrari Dino FALSE
## Maserati Bora FALSE
## Volvo 142E FALSE
# What is the average MPG for cars in mtcars that have 3 gears?
avg_mpg <- function(data) {
mpgs <- data$mpg[data$gear == 3]
mean_mpg <- mean(mpgs)
print(mean_mpg)
}
avg_mpg(mtcars)
## [1] 16.10667