Fostering kittens
In May 2017 we fostered three kittens who were siblings. I tracked their daily weights out of curiosity and because I while I really enjoy fostering kittens, I would like some good rule of thumb for expected weight gain to help plan life around fostering (eg: Is this likely a 2 week or more of 4 week fostering gig?) The Maui Humane Society had specific weight cut offs for when kittens could be neutered (910 grams or 2 lbs), so for kittens that are socialized and healthy, this weight goal is the last hurdle before their neutering and being put up for adoption. Sadly, I don’t know how old the kittens were when we started fostering them, but I was able to find the foster request email from the shelter, and the director estimated the duration of fostering would be 4-5 weeks. Pretty amazing then that it only took 2 weeks, but maybe she just didn’t have the data to make good predictions on how long it takes kittens to gain weight.
Import and tidy data
The only libraries I have loaded are tidyverse and janitor. I tried to figure out if their was a code chuck option to show the code, but not show the evaluation of it, but didn’t find it. I’ll need to search through R Markdown. Update found it. Looks like I need to set message to false.
library(tidyverse)
library(janitor)
kitten_weight_gain <- read_csv("~/website/MaraAlexeev.github.io/static/data/KittenWeights/kitten_weight_gain - Sheet1.csv")
## Parsed with column specification:
## cols(
## Date = col_character(),
## `Day of Fostering` = col_double(),
## Rhyme_male = col_double(),
## Reason_male = col_double(),
## Rebel_female = col_double(),
## Scale = col_double()
## )
names(kitten_weight_gain)
## [1] "Date" "Day of Fostering" "Rhyme_male" "Reason_male"
## [5] "Rebel_female" "Scale"
kitten_weight_gain <- clean_names(kitten_weight_gain)
tidy_kittens <- pivot_longer(kitten_weight_gain, cols = 3:5, names_to = "kitten_name", values_to = "weight_in_grams")
tidy_kittens <- tidy_kittens %>% separate(col = 4, into = c("kitten_name", "sex"), sep = "_")
tidy_kittens$sex <- as.factor(tidy_kittens$sex)
tidy_kittens$scale <- as.factor(tidy_kittens$scale)
tidy_kittens$date <- as.Date(tidy_kittens$date, format = "%m/%d/%Y")
tidy_kittens$weight_in_grams <- as.numeric(tidy_kittens$weight_in_grams)
head(tidy_kittens)
## # A tibble: 6 x 6
## date day_of_fostering scale kitten_name sex weight_in_grams
## <date> <dbl> <fct> <chr> <fct> <dbl>
## 1 2017-05-05 1 1 rhyme male 590
## 2 2017-05-05 1 1 reason male 680
## 3 2017-05-05 1 1 rebel female 635
## 4 2017-05-06 2 2 rhyme male 555
## 5 2017-05-06 2 2 reason male 625
## 6 2017-05-06 2 2 rebel female 550
Ok now I have my data in a more tidy format. This is the first time I have used dpylr::pivot_longer. I first tried to use dpylr::spread but saw a little note that pivot_longer was the new kid in town. I thought it was great. Certainly was faster for me to use even though it was the first time reading through the documentation.
Weight gain, graphically
I want to denote a few things in my graph: distinguish the two males from the female kitten, note that the first day’s wieght was by a different scale. And I’d love to somehow squeeze a picture of the kitten into its key–but since I only have a few minutes before my toddler wakes up–basics first.
graphic_kittens <- ggplot(tidy_kittens, aes(x = date, y = weight_in_grams, color = kitten_name, shape = sex)) +
geom_smooth() +
labs(title = "Foster Kitten Weight Gain", subtitle = "Journey to adequate weight for neutering and adoption") +
xlab(" ") +
ylab("Weight in grams") +
theme_minimal() +
scale_x_date(date_breaks = "1 day", date_labels = "%b-%d")+
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
labs(color = "Which Kitten?")
print(graphic_kittens)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
Next steps
Questions I have now after the first collection of data: Do males and females have different weight gain rates? Do any animal shelters moniter weight gain as an indicator of kitten well being like we have for infant/child growth curves as humans? What are the currently known determinants of weight gain in domestic kittens? Though these kittens were supposedly siblings, queens can have a single litter with multiple toms fathering kittens, so the kittens from a single litter might be more or less related.