library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.1 ✔ readr 2.2.0
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.3 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.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(readxl)
library(pastecs)
##
## Attaching package: 'pastecs'
##
## The following objects are masked from 'package:dplyr':
##
## first, last
##
## The following object is masked from 'package:tidyr':
##
## extract
library_patrons.xls <-read_excel("library_patrons.xls")
pastecs::stat.desc(library_patrons.xls$`Registered Patrons`)
## nbr.val nbr.null nbr.na min max range
## 1.200000e+02 0.000000e+00 0.000000e+00 1.000000e+00 1.646000e+04 1.645900e+04
## sum median mean SE.mean CI.mean.0.95 var
## 1.969690e+05 2.770000e+02 1.641408e+03 2.461175e+02 4.873373e+02 7.268860e+06
## std.dev coef.var
## 2.696082e+03 1.642542e+00
This information determines the location of our patrons by registered.
library_patrons_clean<-library_patrons.xls |>drop_na(`Registered Patrons`)
hist(library_patrons_clean$`Registered Patrons`)
library_patrons_clean<-library_patrons_clean %>% mutate(`Registered Patrons`=sqrt(`Registered Patrons`))
hist(library_patrons_clean$"Registered Patrons")