knitr::opts_chunk$set(echo = TRUE)
library(readxl)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.3.0
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.1.0     
## ── 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
setwd("~/Desktop/my class stuff/Wednesday Class")
district <- read_excel("district.xls")
# Step 2: Create a new data frame
special_ed <- district %>%
  select(DISTNAME, DPETSPEP, DPFPASPEP)
# %>% = (Pipe)and then take that
head(special_ed)
## # A tibble: 6 × 3
##   DISTNAME      DPETSPEP DPFPASPEP
##   <chr>            <dbl>     <dbl>
## 1 CAYUGA ISD        14.6      28.9
## 2 ELKHART ISD       12.1       8.8
## 3 FRANKSTON ISD     13.1       8.4
## 4 NECHES ISD        10.5      10.1
## 5 PALESTINE ISD     13.5       6.1
## 6 WESTWOOD ISD      14.5       9.4

okay purrrrrrr not me eating up that last chunk, it all ran perfectly (its very simple code and I am being dramatic)

# summary for DPETSPEP
summary(special_ed$DPETSPEP)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    9.90   12.10   12.27   14.20   51.70
# summary for DPFPASPEP
summary(special_ed$DPFPASPEP)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   0.000   5.800   8.900   9.711  12.500  49.000       5

Which variable has missing values? DPFPASPEP is missing 5 Values, so its the variable missing values.

# letssss goooooo point graphhhhhhhh
names(district)
##   [1] "DISTNAME"      "DISTRICT"      "DZCNTYNM"      "REGION"       
##   [5] "DZRATING"      "DZCAMPUS"      "DPETALLC"      "DPETBLAP"     
##   [9] "DPETHISP"      "DPETWHIP"      "DPETINDP"      "DPETASIP"     
##  [13] "DPETPCIP"      "DPETTWOP"      "DPETECOP"      "DPETLEPP"     
##  [17] "DPETSPEP"      "DPETBILP"      "DPETVOCP"      "DPETGIFP"     
##  [21] "DA0AT21R"      "DA0912DR21R"   "DAGC4X21R"     "DAGC5X20R"    
##  [25] "DAGC6X19R"     "DA0GR21N"      "DA0GS21N"      "DDA00A001S22R"
##  [29] "DDA00A001222R" "DDA00A001322R" "DDA00AR01S22R" "DDA00AR01222R"
##  [33] "DDA00AR01322R" "DDA00AM01S22R" "DDA00AM01222R" "DDA00AM01322R"
##  [37] "DDA00AC01S22R" "DDA00AC01222R" "DDA00AC01322R" "DDA00AS01S22R"
##  [41] "DDA00AS01222R" "DDA00AS01322R" "DDB00A001S22R" "DDB00A001222R"
##  [45] "DDB00A001322R" "DDH00A001S22R" "DDH00A001222R" "DDH00A001322R"
##  [49] "DDW00A001S22R" "DDW00A001222R" "DDW00A001322R" "DDI00A001S22R"
##  [53] "DDI00A001222R" "DDI00A001322R" "DD300A001S22R" "DD300A001222R"
##  [57] "DD300A001322R" "DD400A001S22R" "DD400A001222R" "DD400A001322R"
##  [61] "DD200A001S22R" "DD200A001222R" "DD200A001322R" "DDE00A001S22R"
##  [65] "DDE00A001222R" "DDE00A001322R" "DA0CT21R"      "DA0CC21R"     
##  [69] "DA0CSA21R"     "DA0CAA21R"     "DPSATOFC"      "DPSTTOFC"     
##  [73] "DPSCTOFP"      "DPSSTOFP"      "DPSUTOFP"      "DPSTTOFP"     
##  [77] "DPSETOFP"      "DPSXTOFP"      "DPSCTOSA"      "DPSSTOSA"     
##  [81] "DPSUTOSA"      "DPSTTOSA"      "DPSAMIFP"      "DPSAKIDR"     
##  [85] "DPSTKIDR"      "DPST05FP"      "DPSTEXPA"      "DPSTADFP"     
##  [89] "DPSTURNR"      "DPSTBLFP"      "DPSTHIFP"      "DPSTWHFP"     
##  [93] "DPSTINFP"      "DPSTASFP"      "DPSTPIFP"      "DPSTTWFP"     
##  [97] "DPSTREFP"      "DPSTSPFP"      "DPSTCOFP"      "DPSTBIFP"     
## [101] "DPSTVOFP"      "DPSTGOFP"      "DPFVTOTK"      "DPFTADPR"     
## [105] "DPFRAALLT"     "DPFRAALLK"     "DPFRAOPRT"     "DPFRASTAP"    
## [109] "DZRVLOCP"      "DPFRAFEDP"     "DPFRAORVT"     "DPFUNAB1T"    
## [113] "DPFUNA4T"      "DPFEAALLT"     "DPFEAOPFT"     "DPFEAOPFK"    
## [117] "DPFEAINSP"     "DZEXADMP"      "DZEXADSP"      "DZEXPLAP"     
## [121] "DZEXOTHP"      "DPFEAINST"     "DPFEAINSK"     "DPFPAREGP"    
## [125] "DPFPASPEP"     "DPFPACOMP"     "DPFPABILP"     "DPFPAVOCP"    
## [129] "DPFPAGIFP"     "DPFPAATHP"     "DPFPAHSAP"     "DPFPREKP"     
## [133] "DPFPAOTHP"     "DISTSIZE"      "COMMTYPE"      "PROPWLTH"     
## [137] "TAXRATE"
ggplot(special_ed_clean, aes(x = DPETSPEP, y = DPFPASPEP)) +
  geom_point() +
  labs(
    x = "Percent Special Education (DPETSPEP)",
    y = "Money Spent on Special Education (DPFPASPEP)",
    title = "Special Education % vs. Spending"
  )

#ggplot(special_ed_clean, aes(x = DPETSPEP, y = DPFPASPEP)) → tells ggplot which data frame to use
#geom_point() → makes a scatterplot 
#labs() → adds  axis labels and a title.
cor(special_ed_clean$DPETSPEP, special_ed_clean$DPFPASPEP)
## [1] 0.3700234
# Correlation is 0.3700234 so I would In general, districts with a higher percentage of special education students tend to dedicate a larger share of their budget to special education. However, the connection is not very strong (its a lot closer to zero then 1), since some districts spend more or less than expected. This explains why the points on the graph do not form a perfect straight line. So I would say its like a weak correlation.