This data was provided by: City of Austin, Texas - data.austintexas.gov
Animal Center Outcomes from Oct, 1st 2013 to May 5th 2025.
Outcomes represent the status of animals as they leave the Animal Center. All animals receive a unique Animal ID during intake. Annually over 90% of animals entering the center, are adopted, transferred to rescue or returned to their owners. The Outcomes data set reflects that Austin, TX. is the largest “No Kill” city in the country.
This Data Selection Offers: Summaries of categorical variables (Animal Type, Intake Type, etc.) A numeric transformation of Age upon Intake into days Histogram of animal ages Boxplot comparing age by intake condition Placeholder correlation (real correlation would need another numeric column, like length of stay).
Austin_Animals <- read.csv("Austin_Animals.csv")
# Quick overview
str(Austin_Animals)
## 'data.frame': 173812 obs. of 13 variables:
## $ Animal.ID : chr "A521520" "A664235" "A664236" "A664237" ...
## $ Name : chr "Nina" "" "" "" ...
## $ DateTime : chr "10/01/2013 07:51:00 AM" "10/01/2013 08:33:00 AM" "10/01/2013 08:33:00 AM" "10/01/2013 08:33:00 AM" ...
## $ MonthYear : chr "October 2013" "October 2013" "October 2013" "October 2013" ...
## $ Found.Location : chr "Norht Ec in Austin (TX)" "Abia in Austin (TX)" "Abia in Austin (TX)" "Abia in Austin (TX)" ...
## $ Intake.Type : chr "Stray" "Stray" "Stray" "Stray" ...
## $ Intake.Condition: chr "Normal" "Normal" "Normal" "Normal" ...
## $ Animal.Type : chr "Dog" "Cat" "Cat" "Cat" ...
## $ Sex.upon.Intake : chr "Spayed Female" "Unknown" "Unknown" "Unknown" ...
## $ Age.upon.Intake : chr "7 years" "1 week" "1 week" "1 week" ...
## $ Breed : chr "Border Terrier/Border Collie" "Domestic Shorthair Mix" "Domestic Shorthair Mix" "Domestic Shorthair Mix" ...
## $ Color : chr "White/Tan" "Orange/White" "Orange/White" "Orange/White" ...
## $ AgeDays : num 2555 7 7 7 1095 ...
head(Austin_Animals)
## Animal.ID Name DateTime MonthYear
## 1 A521520 Nina 10/01/2013 07:51:00 AM October 2013
## 2 A664235 10/01/2013 08:33:00 AM October 2013
## 3 A664236 10/01/2013 08:33:00 AM October 2013
## 4 A664237 10/01/2013 08:33:00 AM October 2013
## 5 A664233 Stevie 10/01/2013 08:53:00 AM October 2013
## 6 A664238 10/01/2013 09:33:00 AM October 2013
## Found.Location Intake.Type Intake.Condition Animal.Type
## 1 Norht Ec in Austin (TX) Stray Normal Dog
## 2 Abia in Austin (TX) Stray Normal Cat
## 3 Abia in Austin (TX) Stray Normal Cat
## 4 Abia in Austin (TX) Stray Normal Cat
## 5 7405 Springtime in Austin (TX) Stray Injured Dog
## 6 Outside Jurisdiction Stray Normal Cat
## Sex.upon.Intake Age.upon.Intake Breed Color
## 1 Spayed Female 7 years Border Terrier/Border Collie White/Tan
## 2 Unknown 1 week Domestic Shorthair Mix Orange/White
## 3 Unknown 1 week Domestic Shorthair Mix Orange/White
## 4 Unknown 1 week Domestic Shorthair Mix Orange/White
## 5 Intact Female 3 years Pit Bull Mix Blue/White
## 6 Unknown 4 months American Shorthair Mix Black/White
## AgeDays
## 1 2555
## 2 7
## 3 7
## 4 7
## 5 1095
## 6 120
# Summarize key variables
summary(Austin_Animals$`Animal Type`)
## Length Class Mode
## 0 NULL NULL
summary(Austin_Animals$`Intake Type`)
## Length Class Mode
## 0 NULL NULL
summary(Austin_Animals$`Intake Condition`)
## Length Class Mode
## 0 NULL NULL
summary(Austin_Animals$`Sex upon Intake`)
## Length Class Mode
## 0 NULL NULL
# Check conversion
summary(Austin_Animals$AgeDays)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.0 60.0 365.0 706.6 730.0 10950.0 10
# Base R
hist(Austin_Animals$AgeDays,
main = "Histogram of Age at Intake (Days)",
xlab = "Age (days)",
col = "lightblue",
border = "black")
# ggplot
ggplot(Austin_Animals, aes(x = AgeDays)) +
geom_histogram(binwidth = 100, fill = "steelblue", color = "black") +
labs(title = "Age Distribution at Intake", x = "Age (days)", y = "Count")
## Warning: Removed 10 rows containing non-finite outside the scale range
## (`stat_bin()`).
# Example: Age vs. Intake Type (boxplot)
ggplot(Austin_Animals, aes(x = `Intake.Type`, y = AgeDays)) +
labs(title = "Age Distribution by Intake Type", x = "Intake Type", y = "Age (days)")
# Correlation of Age with itself (placeholder, since no second numeric column exists)
cor(Austin_Animals$AgeDays, Austin_Animals$AgeDays, use = "complete.obs")
## [1] 1