How quickly do kittens gain weight?
Author

Mara Alexeev

Published

January 26, 2020

Modified

September 20, 2024

Reason, Rebel, Rhyme after their first bath.

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 libraries I have loaded are tidyverse, janitor, googlesheets4 (this was added to the updated blog post and code in 2024), and tools. 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.

Code
library(tidyverse)
library(janitor)
library(googlesheets4)
library(tools)
Code
#Read google sheets data into R
kitten_weight_gain <- read_sheet('https://docs.google.com/spreadsheets/d/1x-Udhm5VkhSh0siWLtipbDZFAMs5Zp7TsTpnUlmz9Jg/edit?gid=0#gid=0')
                                                                                        

#names(kitten_weight_gain)
Code
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)

tidy_kittens$kitten_name <- tools::toTitleCase(tidy_kittens$kitten_name)

#head(tidy_kittens)

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.

Code
graphic_kittens <- ggplot(tidy_kittens, aes(x = date, y = weight_in_grams, color = kitten_name, shape = sex)) +
  geom_line() +
  geom_point() +
  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?") +
  labs(shape = "Sex of kitten?") 
  


print(graphic_kittens)

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.