Sign in

Ella Kaye

@ellakaye.co.uk
2.2K followers 390 following 148 posts

Senior Research Software Engineer at University of Warwick, working on sustainability and EDI in the R Project. SSI Fellow. I love #RStats, #QuartoPub and their communities. I also run @rainbowr.org, for LGBTQ+ folks who code in R 🌈 ellakaye.co.uk

PostsRepliesMedia
Ella Kaye @ellakaye.co.uk · 20/09/2025
R Dev Days (for base R contribution) are a lot of fun and hugely productive! We just had one in Warwick with a fantastic group of both new and experienced contributors, including this wonderful group of @rladies.org.
Smiling group of 14 R-Ladies at R Dev Day, posing together in a meeting room with a whiteboard and chairs in the background.
1100
Ella Kaye @ellakaye.co.uk · 17/09/2025
Also, how cute is the hex! It's a collaboration between myself and Charles Freestone from WOW Design (also my brother-in-law). The hands are a trace from a photo of me holding my very pregnant belly.
Hex sticker for the pregnancy R package featuring a blue hexagonal border with stylized hands traced from a photo of a woman cradling her pregnant belly, positioned around the package name.
030
Ella Kaye @ellakaye.co.uk · 11/07/2025
Tidying my bookcase. I knew I had two copies of 'Modern Applied Statistics with S' but didn't realise that one used to belong to Brian Ripley and the other is signed by Bill Venables. Unfortunately I don't have the 3.5" diskette!
Inside page of two books. One says 'B. D. Ripley 10/10.94' and the other says 'For Mohammed, all the best, Bill Venables, Feb 207'Two books: 'Modern Applied Statistics with S-Plus' and 'Modern Applied Statistics with S, Fourth Edition' by W. N. Venables and B. D. Ripley.
2190
Ella Kaye @ellakaye.co.uk · 11/04/2025
R 4.5.0 has penguins! Having the `penguins` data in base R makes it more accessible and easier to get started with (no need to load external package). It's a great dataset for teaching, and an excellent alternative to `iris`. journal.r-project.org/articles/RJ-...
This scatter plot shows the relationship between bill length (x-axis, labeled "bill_len") and bill depth (y-axis, labeled "bill_dep") for penguin species. The plot uses different colors to represent three penguin species: orange dots for one species, purple for another, and cyan for the third. Each species forms a distinct cluster in the plot.
The data points use two different symbols: open circles and filled circles, for female and male penguins respectively. The x-axis ranges from approximately 35 to 60 units, while the y-axis ranges from about 13 to 21 units.
The plot reveals clear separation between species groups, suggesting that different penguin species have characteristic bill dimensions that can be used to differentiate them. There appears to be a general trend where the orange group has shorter bills with greater depth, the purple group has longer bills with greater depth, and the cyan group has longer bills with less depth.Screenshot of R code

## bill depth vs. length by species (color) and sex (symbol):
## positive correlations for all species, males tend to have bigger bills
sym <- c(1, 16)
pal <- c("darkorange","purple","cyan4")
plot(bill_dep ~ bill_len, data = penguins, pch = sym[sex], col = pal[species])
1196
Ella Kaye @ellakaye.co.uk · 11/04/2025
Converting files with {basepenguins} removes `library(palmerpenguins)` and adjusts variable names (e.g. bill_length_mm -> bill_len). Scripts then run using base version of `penguins`. Works by default for R scripts and R Markdown/Quarto docs. Modify in-place or in new dir. Also `convert_files`.
Screenshot of R code:

example_dir( "penguins_examples")

result ‹- convert_dir_ inplace("penguins_examples")

#> - ends_with("_mm") replaced on line 7 in in place_dir/penguins.R
#> - Please check the changed output files.
#> - Remember to re-knit or re-render and changed Rmarkdown or Quarto documents.

result

#> $changed

#> [1] "penguins_examples/nested/penguins.qmd" "penguins_examples/penguins.R"
#>
#> $not_changed
#> [1] "penguins_examples/no_penguins. Rmd"
"penguins_examples/nested/not_a_script.md"
Screenshot of code:

example_dir ("penguins_examples")

result ‹- convert_dir( "penguins_examples", "converted_examples")

#> - ends with(" mm") replaced on line 7 in converted examples/penguins.R
#> - Please check the changed output files.
#> - Remember to re-knit or re-render and changed Rmarkdown or Quarto documents.

result
#> $changed
#>   penguins_examples/nested/penguins.qmd
#> "converted_examples/nested/penguins.qmd"
#>   penguins_examples/penguins.R
#> "converted_examples/penguins.R"
#>
#> $not_ changed
#> penguins_examples/no_penguins.Rmd
#> "converted_examples/no_penguins.Rmd" 
#>   penguins_examples/nested/not_a_script.md
#> "converted_examples/nested/not_a_script.md"
000
Ella Kaye @ellakaye.co.uk · 08/04/2025
I love that there are so many strong women in the #RStats community (@pipinghotdata.com and @tanyashapiro.bsky.social come to mind, and I know there are many more). Here are my powerlifting efforts. github.com/EllaKaye/pow.... Lifting 1.5x my bodyweight feels a bit like a superpower 💪🏋️‍♂️
"Powerlifting Progress Tracker showing weight lifted (kg) in each set from July 2023 to April 2025. The chart tracks performance across three exercises: squat, bench press, and deadlift, with different colored lines representing different intensity levels: bar (10 reps, green), light (8 reps, light green), medium (6 reps, orange), heavy 1 (3 reps, blue), heavy 2 (3 reps, purple), and heavy 3 (3 reps, pink). All exercises show a general upward trend over time, with the highest weights reached in 2025. Squat progresses from 15-40kg to 20-70kg, bench press from 7-28kg to 20-40kg, and deadlift from 20-50kg to 50-80kg, with each intensity level showing consistent improvement."
4281
Ella Kaye @ellakaye.co.uk · 05/04/2025
My first submission of a new (or indeed any) package to CRAN since 2017! 🤞
Screenshot of code that says “New submission. 0 errors, 0 warnings, 1 note.” Then “devtools::submit_cran()”.
1311
Ella Kaye @ellakaye.co.uk · 24/02/2025
And here they are, in R-devel 🐧🎉 #RStats
A screenshot of R starting up under version 4.5.0, followed by the call to `head(penguins)` then the first six rows of the data frame.
1145
Ella Kaye @ellakaye.co.uk · 14/02/2025
It took a while, but my #PositConf submission is in! Thanks to @rladies.org for the really helpful blog post: rladies.org/blog/2025-02...
Screenshot of a finder window listing six video files, with titles "posit-conf-2025-application.mov", "posit-conf-2025-submission-1.mov", "posit-conf-2025-submission-again", "posit-conf-2025-take-1", "posit-conf-2025-take-2", "posit-conf-2025-take-3".
1110
Ella Kaye @ellakaye.co.uk · 23/12/2024
Something's gone wrong.
A freezer drawer, labelled "Vegetables", with 10 tubs of ice cream in it.
370
Ella Kaye @ellakaye.co.uk · 05/12/2024
Hey #RStats crafters. I would really like an R project logo Christmas tree bauble. Is anyone willing/able to make one for me, preferably from felt? I will, of course, pay (for materials, your time, shipping). Thanks!
R project logo. A blue capital 'R' with a grey ellipse around it.
3141
Ella Kaye @ellakaye.co.uk · 14/11/2024
I have the following in my .Rprofile to give myself a 2 in 7 chance of seeing the whale on any given day. I love seeing the whale, but I still want to be a little surprised when I do!
A screenshot of some R code:

whale <- function(n = 2) {
  # get current weekday as a number (1=Monday,...,7=Sunday)
  day <- as.integer(format(Sys.Date(), "%u")) 
  
  # an n in 7 chance of seeing the whale
  if (day %in% sample(1:7, n)) {
    ohwhaley::say()
  }
}

whale()
100
Ella Kaye @ellakaye.co.uk · 14/11/2024
Third, how cute is the hex?!
A hexagonal logo with a yellow border and light blue background featuring a cartoon blue whale with a smiling face and heart-shaped tail. The whale is spouting water droplets from its blowhole. The text "ohwhaley" appears above the whale in dark blue letters.
100
Ella Kaye @ellakaye.co.uk · 10/11/2024
Also, this is a big part of why I prefer Claude.ai these days.
Given the prompt to draw a picture about what my current life looks like, Claude.ai replies it cannot because it doesn't have this prior information - each chat begins fresh.
010
Ella Kaye @ellakaye.co.uk · 10/11/2024
ChatGPT doesn't know anything about any part of my life that isn't about coding!
An image generated by ChatGPT showing what it imagines my life looks like. It describes it as highlighting a structured, logical approach intertwined with creativity and the world of card games.
120