plot(cars)

install.packages("tidyverse")
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/sys_3.4.3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/bit_4.6.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/ps_1.9.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/farver_2.1.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/labeling_0.4.3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/RColorBrewer_1.1-3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/viridisLite_0.4.3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/rematch_2.0.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/askpass_1.2.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/bit64_4.6.0-1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/prettyunits_1.2.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/processx_3.8.6.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/backports_1.5.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/generics_0.1.4.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/blob_1.3.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/DBI_1.3.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/tidyselect_1.2.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/withr_3.0.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/data.table_1.18.2.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/gtable_0.3.6.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/isoband_0.3.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/S7_0.2.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/scales_1.4.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/gargle_1.6.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/uuid_1.2-2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/cellranger_1.1.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/curl_7.0.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/ids_1.0.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/rematch2_2.1.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/cpp11_0.5.3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/pkgconfig_2.0.3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/openssl_2.3.5.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/timechange_0.4.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/utf8_1.2.6.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/systemfonts_1.3.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/textshaping_1.0.5.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/clipr_0.8.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/crayon_1.5.3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/vroom_1.7.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/tzdb_0.5.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/progress_1.2.3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/callr_3.7.6.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/selectr_0.5-1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/broom_1.0.12.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/conflicted_1.2.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/dbplyr_2.5.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/dplyr_1.2.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/dtplyr_1.3.3.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/forcats_1.0.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/ggplot2_4.0.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/googledrive_2.1.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/googlesheets4_1.1.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/haven_2.5.5.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/hms_1.1.4.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/httr_1.4.8.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/lubridate_1.9.5.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/modelr_0.1.11.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/pillar_1.11.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/purrr_1.2.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/ragg_1.5.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/readr_2.2.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/readxl_1.4.5.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/reprex_2.1.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/rstudioapi_0.18.0.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/rvest_1.0.5.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/tibble_3.3.1.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/tidyr_1.3.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/xml2_1.5.2.tar.gz'
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/tidyverse_2.0.0.tar.gz'
The downloaded source packages are in
‘/tmp/RtmpLlUmUf/downloaded_packages’
library(ggplot2)
# Load the mtcars dataset (built into R)
data_mtcars <- mtcars
# View the first few rows to understand the data
head(data_mtcars)
# Convert 'am' (transmission type) and 'cyl' (number of cylinders) to factors for categorical plotting
data_mtcars$am <- as.factor(data_mtcars$am)
data_mtcars$cyl <- as.factor(data_mtcars$cyl)
# View the first few rows to understand the data
head(data_mtcars)
# Create a scatter plot of car weight vs. miles per gallon, colored by cylinder count
ggplot(data_mtcars, aes(x = wt, y = mpg, color = cyl)) +
geom_point() + # Add points to the plot
labs(title = "Weight vs. Miles Per Gallon", x = "Weight (1000 lbs)", y = "Miles Per Gallon") # Add plot labels

# in my opinion weight is not the determinant of the amount of gas required or spent, instead it depends on the amounts of cylinder.
#Create a line graph of ordered mpg by the row number.
data_mtcars_line <- data_mtcars %>% mutate(index = row_number()) #add index column so we can plot it
ggplot(data_mtcars_line, aes(x = index, y = mpg)) +
geom_line() + # add a line to the plot
labs(title = "Miles Per Gallon by Index", x = "Index", y = "Miles Per Gallon") # add plot labels

# Create a horizontal bar chart of the average horsepower grouped by cylinder count
hp_by_cyl <- data_mtcars %>% group_by(cyl) %>% summarize(avg_hp = mean(hp)) # Calculate average horsepower for each cylinder group
ggplot(hp_by_cyl, aes(y = cyl, x = avg_hp)) +
geom_bar(stat = 'identity') + # Create bars based on the calculated averages
labs(title = "Average HP by Cylinder Count", y = "Cylinder Count", x = "Average Horsepower") # Add plot labels

#Create a stacked bar chart of average mpg, disp, hp, and wt, grouped by cyl.
bar_data_mtcars <- data_mtcars %>% group_by(cyl) %>% summarize(mpg = mean(mpg), disp = mean(disp), hp = mean(hp), wt = mean(wt)) %>% pivot_longer(cols = c("mpg", "disp", "hp", "wt"), names_to = "Measurement", values_to = "Average") #Calculate average values for each measurement, and pivot the data into a long format.
ggplot(bar_data_mtcars, aes(x = cyl, fill = Measurement, y = Average)) +
geom_bar(stat = "identity") + #Create bars based on the calculated averages
labs(title = "Average Measurements by Cylinder Count", x = "Cylinder Count", y = "Average Measurement") #add plot labels

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CnBsb3QoY2FycykKYGBgCgoKCgpgYGB7cn0KaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikKYGBgCgoKYGBge3J9CiNpbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiKQoKbGlicmFyeSh0aWR5dmVyc2UpCmBgYAoKCmBgYHtyfQpsaWJyYXJ5KGdncGxvdDIpCmBgYAoKCgpgYGB7cn0KIyBMb2FkIHRoZSBtdGNhcnMgZGF0YXNldCAoYnVpbHQgaW50byBSKQpkYXRhX210Y2FycyA8LSBtdGNhcnMKCiMgVmlldyB0aGUgZmlyc3QgZmV3IHJvd3MgdG8gdW5kZXJzdGFuZCB0aGUgZGF0YQpoZWFkKGRhdGFfbXRjYXJzKQpgYGAKCgpgYGB7cn0KIyBDb252ZXJ0ICdhbScgKHRyYW5zbWlzc2lvbiB0eXBlKSBhbmQgJ2N5bCcgKG51bWJlciBvZiBjeWxpbmRlcnMpIHRvIGZhY3RvcnMgZm9yIGNhdGVnb3JpY2FsIHBsb3R0aW5nCmRhdGFfbXRjYXJzJGFtIDwtIGFzLmZhY3RvcihkYXRhX210Y2FycyRhbSkKZGF0YV9tdGNhcnMkY3lsIDwtIGFzLmZhY3RvcihkYXRhX210Y2FycyRjeWwpCmBgYAoKCmBgYHtyfQojIFZpZXcgdGhlIGZpcnN0IGZldyByb3dzIHRvIHVuZGVyc3RhbmQgdGhlIGRhdGEKaGVhZChkYXRhX210Y2FycykKYGBgCgoKCgpgYGB7cn0KIyBDcmVhdGUgYSBzY2F0dGVyIHBsb3Qgb2YgY2FyIHdlaWdodCB2cy4gbWlsZXMgcGVyIGdhbGxvbiwgY29sb3JlZCBieSBjeWxpbmRlciBjb3VudApnZ3Bsb3QoZGF0YV9tdGNhcnMsIGFlcyh4ID0gd3QsIHkgPSBtcGcsIGNvbG9yID0gY3lsKSkgKwogIGdlb21fcG9pbnQoKSArICMgQWRkIHBvaW50cyB0byB0aGUgcGxvdAogIGxhYnModGl0bGUgPSAiV2VpZ2h0IHZzLiBNaWxlcyBQZXIgR2FsbG9uIiwgeCA9ICJXZWlnaHQgKDEwMDAgbGJzKSIsIHkgPSAiTWlsZXMgUGVyIEdhbGxvbiIpICMgQWRkIHBsb3QgbGFiZWxzCmBgYAoKYGBge3J9CiMgaW4gbXkgb3BpbmlvbiB3ZWlnaHQgaXMgbm90IHRoZSBkZXRlcm1pbmFudCBvZiB0aGUgYW1vdW50IG9mIGdhcyByZXF1aXJlZCBvciBzcGVudCwgaW5zdGVhZCBpdCBkZXBlbmRzIG9uIHRoZSBhbW91bnRzIG9mIGN5bGluZGVyLiAKCmBgYAoKCmBgYHtyfQojQ3JlYXRlIGEgbGluZSBncmFwaCBvZiBvcmRlcmVkIG1wZyBieSB0aGUgcm93IG51bWJlci4KZGF0YV9tdGNhcnNfbGluZSA8LSBkYXRhX210Y2FycyAlPiUgbXV0YXRlKGluZGV4ID0gcm93X251bWJlcigpKSAjYWRkIGluZGV4IGNvbHVtbiBzbyB3ZSBjYW4gcGxvdCBpdAoKZ2dwbG90KGRhdGFfbXRjYXJzX2xpbmUsIGFlcyh4ID0gaW5kZXgsIHkgPSBtcGcpKSArCiAgZ2VvbV9saW5lKCkgKyAjIGFkZCBhIGxpbmUgdG8gdGhlIHBsb3QKICBsYWJzKHRpdGxlID0gIk1pbGVzIFBlciBHYWxsb24gYnkgSW5kZXgiLCB4ID0gIkluZGV4IiwgeSA9ICJNaWxlcyBQZXIgR2FsbG9uIikgIyBhZGQgcGxvdCBsYWJlbHMKYGBgCgoKCgpgYGB7cn0KIyBDcmVhdGUgYSBob3Jpem9udGFsIGJhciBjaGFydCBvZiB0aGUgYXZlcmFnZSBob3JzZXBvd2VyIGdyb3VwZWQgYnkgY3lsaW5kZXIgY291bnQKaHBfYnlfY3lsIDwtIGRhdGFfbXRjYXJzICU+JSBncm91cF9ieShjeWwpICU+JSBzdW1tYXJpemUoYXZnX2hwID0gbWVhbihocCkpICMgQ2FsY3VsYXRlIGF2ZXJhZ2UgaG9yc2Vwb3dlciBmb3IgZWFjaCBjeWxpbmRlciBncm91cAoKZ2dwbG90KGhwX2J5X2N5bCwgYWVzKHkgPSBjeWwsIHggPSBhdmdfaHApKSArCiAgZ2VvbV9iYXIoc3RhdCA9ICdpZGVudGl0eScpICsgIyBDcmVhdGUgYmFycyBiYXNlZCBvbiB0aGUgY2FsY3VsYXRlZCBhdmVyYWdlcwogIGxhYnModGl0bGUgPSAiQXZlcmFnZSBIUCBieSBDeWxpbmRlciBDb3VudCIsIHkgPSAiQ3lsaW5kZXIgQ291bnQiLCB4ID0gIkF2ZXJhZ2UgSG9yc2Vwb3dlciIpICMgQWRkIHBsb3QgbGFiZWxzCgpgYGAKCgpgYGB7cn0KI0NyZWF0ZSBhIHN0YWNrZWQgYmFyIGNoYXJ0IG9mIGF2ZXJhZ2UgbXBnLCBkaXNwLCBocCwgYW5kIHd0LCBncm91cGVkIGJ5IGN5bC4KYmFyX2RhdGFfbXRjYXJzIDwtIGRhdGFfbXRjYXJzICU+JSBncm91cF9ieShjeWwpICU+JSBzdW1tYXJpemUobXBnID0gbWVhbihtcGcpLCBkaXNwID0gbWVhbihkaXNwKSwgaHAgPSBtZWFuKGhwKSwgd3QgPSBtZWFuKHd0KSkgJT4lIHBpdm90X2xvbmdlcihjb2xzID0gYygibXBnIiwgImRpc3AiLCAiaHAiLCAid3QiKSwgbmFtZXNfdG8gPSAiTWVhc3VyZW1lbnQiLCB2YWx1ZXNfdG8gPSAiQXZlcmFnZSIpICNDYWxjdWxhdGUgYXZlcmFnZSB2YWx1ZXMgZm9yIGVhY2ggbWVhc3VyZW1lbnQsIGFuZCBwaXZvdCB0aGUgZGF0YSBpbnRvIGEgbG9uZyBmb3JtYXQuCgpnZ3Bsb3QoYmFyX2RhdGFfbXRjYXJzLCBhZXMoeCA9IGN5bCwgZmlsbCA9IE1lYXN1cmVtZW50LCB5ID0gQXZlcmFnZSkpICsKICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IikgKyAjQ3JlYXRlIGJhcnMgYmFzZWQgb24gdGhlIGNhbGN1bGF0ZWQgYXZlcmFnZXMKICBsYWJzKHRpdGxlID0gIkF2ZXJhZ2UgTWVhc3VyZW1lbnRzIGJ5IEN5bGluZGVyIENvdW50IiwgeCA9ICJDeWxpbmRlciBDb3VudCIsIHkgPSAiQXZlcmFnZSBNZWFzdXJlbWVudCIpICNhZGQgcGxvdCBsYWJlbHMKYGBgCgo=