Diamonds Dataset

library(readr)
seeds_dataset_2_ <- read_csv("C:/Users/lazarus/Downloads/seeds_dataset (2).txt")
## Rows: 209 Columns: 1
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): 15.26   14.84   0.871   5.763   3.312   2.221   5.22    1
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(seeds_dataset_2_)

library(ggplot2)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ stringr   1.5.1
## ✔ forcats   1.0.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
head(mpg)
## # A tibble: 6 × 11
##   manufacturer model displ  year   cyl trans      drv     cty   hwy fl    class 
##   <chr>        <chr> <dbl> <int> <int> <chr>      <chr> <int> <int> <chr> <chr> 
## 1 audi         a4      1.8  1999     4 auto(l5)   f        18    29 p     compa…
## 2 audi         a4      1.8  1999     4 manual(m5) f        21    29 p     compa…
## 3 audi         a4      2    2008     4 manual(m6) f        20    31 p     compa…
## 4 audi         a4      2    2008     4 auto(av)   f        21    30 p     compa…
## 5 audi         a4      2.8  1999     6 auto(l5)   f        16    26 p     compa…
## 6 audi         a4      2.8  1999     6 manual(m5) f        18    26 p     compa…
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy))

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=cty))

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=cyl))

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy, color=class))

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy, size=class))
## Warning: Using size for a discrete variable is not advised.

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy, shape=class))
## Warning: The shape palette can deal with a maximum of 6 discrete values because more
## than 6 becomes difficult to discriminate
## ℹ you have requested 7 values. Consider specifying shapes manually if you need
##   that many have them.
## Warning: Removed 62 rows containing missing values (`geom_point()`).

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy, alpha=class))
## Warning: Using alpha for a discrete variable is not advised.

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy), color="blue")

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy, color=class))

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy, color="blue")) #changes the name of the class to "blue" rather than the color of the points to blue

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy)) + facet_wrap(~class, nrow=2)#creates 2 rows of plots

#draws a unique linetype for each unique value of the variable that you map to the linetype
ggplot(data=mpg)+geom_smooth(mapping=aes(x=displ,y=hwy, linetype=drv)) 
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(data=mpg)+geom_smooth(mapping=aes(x=displ,y=hwy)) 
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(data=mpg)+geom_smooth(mapping=aes(x=displ,y=hwy, group=drv)) 
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(data=mpg)+geom_smooth(mapping=aes(x=displ,y=hwy, color=drv), show.legend=FALSE)
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy))+geom_smooth(mapping=aes(x=displ,y=hwy))
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(data=mpg,mapping=aes(x=displ,y=hwy))+geom_point()+geom_smooth() #makes mapping global so you dont have to retype it
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(data=mpg,mapping=aes(x=displ,y=hwy))+geom_point(mapping=aes(color=class))+geom_smooth(data=filter(mpg,class=="subcompact"), se=FALSE)
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(data=mpg,mapping=aes(x=displ,y=hwy))+geom_point(mapping=aes(color=class))+geom_smooth(data=filter(mpg,class=="minivan"), se=FALSE)
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at 4.008
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.708
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 0
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : There are other near singularities as well. 0.25

?diamonds
## starting httpd help server ... done
view(diamonds) #shows table/dataset
str(diamonds) #str shows size & columns...first step to loading a dataset is to look at/analyze it
## tibble [53,940 × 10] (S3: tbl_df/tbl/data.frame)
##  $ carat  : num [1:53940] 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
##  $ cut    : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
##  $ color  : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
##  $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
##  $ depth  : num [1:53940] 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
##  $ table  : num [1:53940] 55 61 65 58 58 57 57 55 61 61 ...
##  $ price  : int [1:53940] 326 326 327 334 335 336 336 337 337 338 ...
##  $ x      : num [1:53940] 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
##  $ y      : num [1:53940] 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
##  $ z      : num [1:53940] 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...
summary(diamonds$carat) #gives statistics/interquartile values on the specific attribute...second step
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.2000  0.4000  0.7000  0.7979  1.0400  5.0100
mean(diamonds$price)
## [1] 3932.8
summary(diamonds$price)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     326     950    2401    3933    5324   18823
Val <- c(46,34,87,22,91)
mean(Val)
## [1] 56
ggplot(data=diamonds)+geom_point(mapping=aes(x=carat,y=price, color=cut))

ggplot(data=diamonds)+geom_smooth(mapping=aes(x=carat,y=price, color=cut))
## `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'

hist(diamonds$carat, main="Histogram of diamonds carat weight", xlab="Carat")

sd(diamonds$carat)
## [1] 0.4740112
var(diamonds$carat)
## [1] 0.2246867
sd(diamonds$price)
## [1] 3989.44
var(diamonds$price)
## [1] 15915629
table(diamonds$cut)
## 
##      Fair      Good Very Good   Premium     Ideal 
##      1610      4906     12082     13791     21551
ggplot(data=diamonds)+geom_bar(mapping=aes(x=cut))

ggplot(data=diamonds)+stat_summary(mapping=aes(x=cut,y=depth), fun.max=max, fun=median)
## Warning: Removed 5 rows containing missing values (`geom_segment()`).

ggplot(data=diamonds)+geom_bar(mapping=aes(x=cut, fill=clarity))

ggplot(data=diamonds)+geom_bar(mapping=aes(x=cut, fill=clarity), position="dodge")

#coord_quickmap, sets aspect ratio
nz <- map_data("nz")
ggplot(nz,aes(long, lat, group = group)) + geom_polygon(fill  = "white", colour = "black")

ggplot(nz,aes(long, lat, group = group)) + geom_polygon(fill  = "white", colour = "black") + coord_quickmap()

library(maps)
## 
## Attaching package: 'maps'
## 
## The following object is masked from 'package:purrr':
## 
##     map
library(naijR)
## Warning: package 'naijR' was built under R version 4.3.3
map_ng()