plot(cars)

# The R-Programming plots faster and less complicated than python.
install.packages("tidyverse")
trying URL 'http://rspm/default/__linux__/noble/latest/src/contrib/tidyverse_2.0.0.tar.gz'
Content type 'application/x-gzip' length 425816 bytes (415 KB)
==================================================
downloaded 415 KB
The downloaded source packages are in
‘/tmp/RtmpKyGgKR/downloaded_packages’
library(tidyverse)
# 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)
head(data_mtcars)
# The datatype double was changed and updated by the pull head command.
# 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

#The current scatterplot x AXIx is currently by weight which should be altered.
# 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 = "Miles Per Gallon vs. Weight", x = "Weight (1000 lbs)", y = "Miles Per Gallon") # Add plot labels

# We should edit miles per gallon vs Cylinder instead of weight. Cylinder on the x axis. and H ave the Weight of the vehicle as the colors.
#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

# The Cylinder vs the horsepower shows exact data
```{r}
Error: attempt to use zero-length variable name
# Here we have a better chart graph the cylinder is on the x axis creating better data and measurement is on the y asis.
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCmBgYHtyfQpwbG90KGNhcnMpCmBgYAoKCmBgYHtyfQojIFRoZSBSLVByb2dyYW1taW5nIHBsb3RzIGZhc3RlciBhbmQgbGVzcyBjb21wbGljYXRlZCB0aGFuIHB5dGhvbi4gCmBgYAoKYGBge3J9Cmluc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpCgpgYGAKYGBge3J9CmxpYnJhcnkodGlkeXZlcnNlKQpgYGAKCmBgYHtyfQojIExvYWQgdGhlIG10Y2FycyBkYXRhc2V0IChidWlsdCBpbnRvIFIpCmRhdGFfbXRjYXJzIDwtIG10Y2FycwoKIyBWaWV3IHRoZSBmaXJzdCBmZXcgcm93cyB0byB1bmRlcnN0YW5kIHRoZSBkYXRhCmhlYWQoZGF0YV9tdGNhcnMpCmBgYAoKCgoKCgpgYGB7cn0KIyBDb252ZXJ0ICdhbScgKHRyYW5zbWlzc2lvbiB0eXBlKSBhbmQgJ2N5bCcgKG51bWJlciBvZiBjeWxpbmRlcnMpIHRvIGZhY3RvcnMgZm9yIGNhdGVnb3JpY2FsIHBsb3R0aW5nCmRhdGFfbXRjYXJzJGFtIDwtIGFzLmZhY3RvcihkYXRhX210Y2FycyRhbSkKZGF0YV9tdGNhcnMkY3lsIDwtIGFzLmZhY3RvcihkYXRhX210Y2FycyRjeWwpCmBgYAoKCgoKCmBgYHtyfQpoZWFkKGRhdGFfbXRjYXJzKQpgYGAKYGBge3J9CiMgVGhlIGRhdGF0eXBlIGRvdWJsZSB3YXMgY2hhbmdlZCBhbmQgdXBkYXRlZCBieSB0aGUgcHVsbCBoZWFkIGNvbW1hbmQuCmBgYAoKCgoKCgoKYGBge3J9CiMgQ3JlYXRlIGEgc2NhdHRlciBwbG90IG9mIGNhciB3ZWlnaHQgdnMuIG1pbGVzIHBlciBnYWxsb24sIGNvbG9yZWQgYnkgY3lsaW5kZXIgY291bnQKZ2dwbG90KGRhdGFfbXRjYXJzLCBhZXMoeCA9IHd0LCB5ID0gbXBnLCBjb2xvciA9IGN5bCkpICsKICBnZW9tX3BvaW50KCkgKyAjIEFkZCBwb2ludHMgdG8gdGhlIHBsb3QKICBsYWJzKHRpdGxlID0gIldlaWdodCB2cy4gTWlsZXMgUGVyIEdhbGxvbiIsIHggPSAiV2VpZ2h0ICgxMDAwIGxicykiLCB5ID0gIk1pbGVzIFBlciBHYWxsb24iKSAjIEFkZCBwbG90IGxhYmVscwpgYGAKCgpgYGB7cn0KI1RoZSBjdXJyZW50IHNjYXR0ZXJwbG90IHggQVhJeCBpcyBjdXJyZW50bHkgYnkgd2VpZ2h0IHdoaWNoIHNob3VsZCBiZSBhbHRlcmVkLiAKYGBgCgoKCmBgYHtyfQojIENyZWF0ZSBhIHNjYXR0ZXIgcGxvdCBvZiBjYXIgd2VpZ2h0IHZzLiBtaWxlcyBwZXIgZ2FsbG9uLCBjb2xvcmVkIGJ5IGN5bGluZGVyIGNvdW50CmdncGxvdChkYXRhX210Y2FycywgYWVzKHggPSB3dCwgeSA9IG1wZywgY29sb3IgPSBjeWwpKSArCiAgZ2VvbV9wb2ludCgpICsgIyBBZGQgcG9pbnRzIHRvIHRoZSBwbG90CiAgbGFicyh0aXRsZSA9ICJNaWxlcyBQZXIgR2FsbG9uIHZzLiBXZWlnaHQiLCB4ID0gIldlaWdodCAoMTAwMCBsYnMpIiwgeSA9ICJNaWxlcyBQZXIgR2FsbG9uIikgIyBBZGQgcGxvdCBsYWJlbHMKYGBgCgoKYGBge3J9CiMgV2Ugc2hvdWxkIGVkaXQgbWlsZXMgcGVyIGdhbGxvbiB2cyBDeWxpbmRlciBpbnN0ZWFkIG9mIHdlaWdodC4gQ3lsaW5kZXIgb24gdGhlIHggYXhpcy4gYW5kIEggYXZlIHRoZSBXZWlnaHQgb2YgdGhlIHZlaGljbGUgYXMgdGhlIGNvbG9ycy4gCmBgYAoKCgoKCgpgYGB7cn0KI0NyZWF0ZSBhIGxpbmUgZ3JhcGggb2Ygb3JkZXJlZCBtcGcgYnkgdGhlIHJvdyBudW1iZXIuCmRhdGFfbXRjYXJzX2xpbmUgPC0gZGF0YV9tdGNhcnMgJT4lIG11dGF0ZShpbmRleCA9IHJvd19udW1iZXIoKSkgI2FkZCBpbmRleCBjb2x1bW4gc28gd2UgY2FuIHBsb3QgaXQKCmdncGxvdChkYXRhX210Y2Fyc19saW5lLCBhZXMoeCA9IGluZGV4LCB5ID0gbXBnKSkgKwogIGdlb21fbGluZSgpICsgIyBhZGQgYSBsaW5lIHRvIHRoZSBwbG90CiAgbGFicyh0aXRsZSA9ICJNaWxlcyBQZXIgR2FsbG9uIGJ5IEluZGV4IiwgeCA9ICJJbmRleCIsIHkgPSAiTWlsZXMgUGVyIEdhbGxvbiIpICMgYWRkIHBsb3QgbGFiZWxzCmBgYAoKCgoKYGBge3J9CiMgQ3JlYXRlIGEgaG9yaXpvbnRhbCBiYXIgY2hhcnQgb2YgdGhlIGF2ZXJhZ2UgaG9yc2Vwb3dlciBncm91cGVkIGJ5IGN5bGluZGVyIGNvdW50CmhwX2J5X2N5bCA8LSBkYXRhX210Y2FycyAlPiUgZ3JvdXBfYnkoY3lsKSAlPiUgc3VtbWFyaXplKGF2Z19ocCA9IG1lYW4oaHApKSAjIENhbGN1bGF0ZSBhdmVyYWdlIGhvcnNlcG93ZXIgZm9yIGVhY2ggY3lsaW5kZXIgZ3JvdXAKCmdncGxvdChocF9ieV9jeWwsIGFlcyh5ID0gY3lsLCB4ID0gYXZnX2hwKSkgKwogIGdlb21fYmFyKHN0YXQgPSAnaWRlbnRpdHknKSArICMgQ3JlYXRlIGJhcnMgYmFzZWQgb24gdGhlIGNhbGN1bGF0ZWQgYXZlcmFnZXMKICBsYWJzKHRpdGxlID0gIkF2ZXJhZ2UgSFAgYnkgQ3lsaW5kZXIgQ291bnQiLCB5ID0gIkN5bGluZGVyIENvdW50IiwgeCA9ICJBdmVyYWdlIEhvcnNlcG93ZXIiKSAjIEFkZCBwbG90IGxhYmVscwpgYGAKCgpgYGB7cn0KIyBUaGUgQ3lsaW5kZXIgdnMgdGhlIGhvcnNlcG93ZXIgc2hvd3MgZXhhY3QgZGF0YQoKCgoKCmBgYHtyfQojQ3JlYXRlIGEgc3RhY2tlZCBiYXIgY2hhcnQgb2YgYXZlcmFnZSBtcGcsIGRpc3AsIGhwLCBhbmQgd3QsIGdyb3VwZWQgYnkgY3lsLgpiYXJfZGF0YV9tdGNhcnMgPC0gZGF0YV9tdGNhcnMgJT4lIGdyb3VwX2J5KGN5bCkgJT4lIHN1bW1hcml6ZShtcGcgPSBtZWFuKG1wZyksIGRpc3AgPSBtZWFuKGRpc3ApLCBocCA9IG1lYW4oaHApLCB3dCA9IG1lYW4od3QpKSAlPiUgcGl2b3RfbG9uZ2VyKGNvbHMgPSBjKCJtcGciLCAiZGlzcCIsICJocCIsICJ3dCIpLCBuYW1lc190byA9ICJNZWFzdXJlbWVudCIsIHZhbHVlc190byA9ICJBdmVyYWdlIikgI0NhbGN1bGF0ZSBhdmVyYWdlIHZhbHVlcyBmb3IgZWFjaCBtZWFzdXJlbWVudCwgYW5kIHBpdm90IHRoZSBkYXRhIGludG8gYSBsb25nIGZvcm1hdC4KCmdncGxvdChiYXJfZGF0YV9tdGNhcnMsIGFlcyh4ID0gY3lsLCBmaWxsID0gTWVhc3VyZW1lbnQsIHkgPSBBdmVyYWdlKSkgKwogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArICNDcmVhdGUgYmFycyBiYXNlZCBvbiB0aGUgY2FsY3VsYXRlZCBhdmVyYWdlcwogIGxhYnModGl0bGUgPSAiQXZlcmFnZSBNZWFzdXJlbWVudHMgYnkgQ3lsaW5kZXIgQ291bnQiLCB4ID0gIkN5bGluZGVyIENvdW50IiwgeSA9ICJBdmVyYWdlIE1lYXN1cmVtZW50IikgI2FkZCBwbG90IGxhYmVscwpgYGAKCgoKCgpgYGB7cn0KIyBIZXJlIHdlIGhhdmUgYSBiZXR0ZXIgY2hhcnQgZ3JhcGggdGhlIGN5bGluZGVyIGlzIG9uIHRoZSB4IGF4aXMgY3JlYXRpbmcgYmV0dGVyIGRhdGEgYW5kIG1lYXN1cmVtZW50IGlzIG9uIHRoZSB5IGFzaXMuICAKYGBgCgoK