library(dplyr)
Exercise 1: Filtering a DataFrame
Using the mtcars
dataset, create a new DataFrame that
only includes rows where the number of cylinders is greater than 4 and
the horsepower is greater than 150.
# Load the mtcars dataset
data(mtcars)
# Filter the DataFrame to get only the records where the number of cylinders is greater than 4 and the horsepower is greater than 150
filtered_mtcars <- mtcars[mtcars$cyl > 4 & mtcars$hp > 150, ]
# Print the result
print(filtered_mtcars)
library(dplyr)
# Load the mtcars dataset
data(mtcars)
# Filter the DataFrame
filtered_mtcars <- mtcars %>%
filter(cyl > 4, hp > 150)
# Print the result
print(filtered_mtcars)
Exercise 2: Grouping and Summarizing
Using the iris dataset, group the data by species and calculate the
mean sepal length for each species.
# Load the iris dataset
data(iris)
# Group the DataFrame by species and calculate the mean sepal length for each species
iris_summary <- aggregate(iris$Sepal.Length, by = list(iris$Species), mean)
# Print the result
print(iris_summary)
library(dplyr)
# Load the iris dataset
data(iris)
# Group the data and calculate mean sepal length
iris_summary <- iris %>%
group_by(Species) %>%
summarise(mean_sepal_length = mean(Sepal.Length))
# Print the result
print(iris_summary)
Exercise 3: Creating a Bar Plot
Using the ggplot2 package, create a bar plot of the number of
cylinders in the mtcars dataset.
# Load the ggplot2 package
library(ggplot2)
# Create a bar plot
ggplot(mtcars, aes(x = factor(cyl))) +
geom_bar()
Exercise 4: Merging DataFrames
Using the dplyr package, merge the mtcars dataset with a new
DataFrame that contains the country of origin for each car model.
# Load the dplyr package
library(dplyr)
# Create a new column with car models
mtcars$model <- rownames(mtcars)
# Create a new DataFrame with country of origin
country_df <- data.frame(model = c("Mazda RX4", "Mazda RX4 Wag", "Datsun 710", "Hornet 4 Drive", "Hornet Sportabout"),
country = c("Japan", "Japan", "Japan", "USA", "USA"))
# Merge the DataFrames
merged_df <- left_join(mtcars, country_df, by = "model")
# Print the result
print(merged_df)
Exercise 5: Creating a Scatter Plot
Using the ggplot2 package, create a scatter plot of the relationship
between horsepower and miles per gallon in the mtcars dataset.
plot(mtcars$hp, mtcars$mpg)
# Create a scatter plot
ggplot(mtcars, aes(x = hp, y = mpg)) +
geom_point()
LS0tCnRpdGxlOiAiRXhlcmNpc2VzIG9uIERhdGFGcmFtZXMgLSBTb2x1dGlvbnMiCmF1dGhvcjogIk5heWVsIEJldHRhY2hlIgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCmBgYHtyfQpsaWJyYXJ5KGRwbHlyKQpgYGAKCiMgRXhlcmNpc2UgMTogRmlsdGVyaW5nIGEgRGF0YUZyYW1lCgpVc2luZyB0aGUgYG10Y2Fyc2AgZGF0YXNldCwgY3JlYXRlIGEgbmV3IERhdGFGcmFtZSB0aGF0IG9ubHkgaW5jbHVkZXMgcm93cyB3aGVyZSB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyBpcyBncmVhdGVyIHRoYW4gNCBhbmQgdGhlIGhvcnNlcG93ZXIgaXMgZ3JlYXRlciB0aGFuIDE1MC4KCmBgYHtyfQojIExvYWQgdGhlIG10Y2FycyBkYXRhc2V0CmRhdGEobXRjYXJzKQoKIyBGaWx0ZXIgdGhlIERhdGFGcmFtZSB0byBnZXQgb25seSB0aGUgcmVjb3JkcyB3aGVyZSB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyBpcyBncmVhdGVyIHRoYW4gNCBhbmQgdGhlIGhvcnNlcG93ZXIgaXMgZ3JlYXRlciB0aGFuIDE1MApmaWx0ZXJlZF9tdGNhcnMgPC0gbXRjYXJzW210Y2FycyRjeWwgPiA0ICYgbXRjYXJzJGhwID4gMTUwLCBdCgojIFByaW50IHRoZSByZXN1bHQKcHJpbnQoZmlsdGVyZWRfbXRjYXJzKQpgYGAKCmBgYHtyfQpsaWJyYXJ5KGRwbHlyKQojIExvYWQgdGhlIG10Y2FycyBkYXRhc2V0CmRhdGEobXRjYXJzKQoKIyBGaWx0ZXIgdGhlIERhdGFGcmFtZQpmaWx0ZXJlZF9tdGNhcnMgPC0gbXRjYXJzICU+JSAKICBmaWx0ZXIoY3lsID4gNCwgaHAgPiAxNTApCgojIFByaW50IHRoZSByZXN1bHQKcHJpbnQoZmlsdGVyZWRfbXRjYXJzKQpgYGAKCiMgRXhlcmNpc2UgMjogR3JvdXBpbmcgYW5kIFN1bW1hcml6aW5nCgpVc2luZyB0aGUgaXJpcyBkYXRhc2V0LCBncm91cCB0aGUgZGF0YSBieSBzcGVjaWVzIGFuZCBjYWxjdWxhdGUgdGhlIG1lYW4gc2VwYWwgbGVuZ3RoIGZvciBlYWNoIHNwZWNpZXMuCgpgYGB7cn0KIyBMb2FkIHRoZSBpcmlzIGRhdGFzZXQKZGF0YShpcmlzKQoKIyBHcm91cCB0aGUgRGF0YUZyYW1lIGJ5IHNwZWNpZXMgYW5kIGNhbGN1bGF0ZSB0aGUgbWVhbiBzZXBhbCBsZW5ndGggZm9yIGVhY2ggc3BlY2llcwppcmlzX3N1bW1hcnkgPC0gYWdncmVnYXRlKGlyaXMkU2VwYWwuTGVuZ3RoLCBieSA9IGxpc3QoaXJpcyRTcGVjaWVzKSwgbWVhbikKCiMgUHJpbnQgdGhlIHJlc3VsdApwcmludChpcmlzX3N1bW1hcnkpCmBgYAoKYGBge3J9CmxpYnJhcnkoZHBseXIpCgojIExvYWQgdGhlIGlyaXMgZGF0YXNldApkYXRhKGlyaXMpCgojIEdyb3VwIHRoZSBkYXRhIGFuZCBjYWxjdWxhdGUgbWVhbiBzZXBhbCBsZW5ndGgKaXJpc19zdW1tYXJ5IDwtIGlyaXMgJT4lIAogIGdyb3VwX2J5KFNwZWNpZXMpICU+JSAKICBzdW1tYXJpc2UobWVhbl9zZXBhbF9sZW5ndGggPSBtZWFuKFNlcGFsLkxlbmd0aCkpCgojIFByaW50IHRoZSByZXN1bHQKcHJpbnQoaXJpc19zdW1tYXJ5KQpgYGAKCiMgRXhlcmNpc2UgMzogQ3JlYXRpbmcgYSBCYXIgUGxvdAoKVXNpbmcgdGhlIGdncGxvdDIgcGFja2FnZSwgY3JlYXRlIGEgYmFyIHBsb3Qgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgaW4gdGhlIG10Y2FycyBkYXRhc2V0LgoKYGBge3J9CiMgTG9hZCB0aGUgZ2dwbG90MiBwYWNrYWdlCmxpYnJhcnkoZ2dwbG90MikKCiMgQ3JlYXRlIGEgYmFyIHBsb3QKZ2dwbG90KG10Y2FycywgYWVzKHggPSBmYWN0b3IoY3lsKSkpICsgCiAgZ2VvbV9iYXIoKQpgYGAKCiMgRXhlcmNpc2UgNDogTWVyZ2luZyBEYXRhRnJhbWVzCgpVc2luZyB0aGUgZHBseXIgcGFja2FnZSwgbWVyZ2UgdGhlIG10Y2FycyBkYXRhc2V0IHdpdGggYSBuZXcgRGF0YUZyYW1lIHRoYXQgY29udGFpbnMgdGhlIGNvdW50cnkgb2Ygb3JpZ2luIGZvciBlYWNoIGNhciBtb2RlbC4KCmBgYHtyfQojIExvYWQgdGhlIGRwbHlyIHBhY2thZ2UKbGlicmFyeShkcGx5cikKCiMgQ3JlYXRlIGEgbmV3IGNvbHVtbiB3aXRoIGNhciBtb2RlbHMKbXRjYXJzJG1vZGVsIDwtIHJvd25hbWVzKG10Y2FycykKCiMgQ3JlYXRlIGEgbmV3IERhdGFGcmFtZSB3aXRoIGNvdW50cnkgb2Ygb3JpZ2luCmNvdW50cnlfZGYgPC0gZGF0YS5mcmFtZShtb2RlbCA9IGMoIk1hemRhIFJYNCIsICJNYXpkYSBSWDQgV2FnIiwgIkRhdHN1biA3MTAiLCAiSG9ybmV0IDQgRHJpdmUiLCAiSG9ybmV0IFNwb3J0YWJvdXQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50cnkgPSBjKCJKYXBhbiIsICJKYXBhbiIsICJKYXBhbiIsICJVU0EiLCAiVVNBIikpCgojIE1lcmdlIHRoZSBEYXRhRnJhbWVzCm1lcmdlZF9kZiA8LSBsZWZ0X2pvaW4obXRjYXJzLCBjb3VudHJ5X2RmLCBieSA9ICJtb2RlbCIpCgojIFByaW50IHRoZSByZXN1bHQKcHJpbnQobWVyZ2VkX2RmKQpgYGAKCiMgRXhlcmNpc2UgNTogQ3JlYXRpbmcgYSBTY2F0dGVyIFBsb3QKClVzaW5nIHRoZSBnZ3Bsb3QyIHBhY2thZ2UsIGNyZWF0ZSBhIHNjYXR0ZXIgcGxvdCBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gaG9yc2Vwb3dlciBhbmQgbWlsZXMgcGVyIGdhbGxvbiBpbiB0aGUgbXRjYXJzIGRhdGFzZXQuCgpgYGB7cn0KcGxvdChtdGNhcnMkaHAsIG10Y2FycyRtcGcpCmBgYAoKYGBge3J9CiMgQ3JlYXRlIGEgc2NhdHRlciBwbG90CmdncGxvdChtdGNhcnMsIGFlcyh4ID0gaHAsIHkgPSBtcGcpKSArIAogIGdlb21fcG9pbnQoKQpgYGA=