Advertisement Β· 728 Γ— 90

Posts by David Schoch

yes, the package {{ids}}

8 months ago 2 0 1 0
Output of dex_sentence function.
"Elegant shellder uses wrap greedily"             
"Well-documented golbat uses lovely kiss sedately"
"Old-fashioned gyarados uses disable cautiously"  
"Impressionable gastly uses lovely kiss scarily"  
"Tidy graveler uses amnesia questionably"

Output of dex_sentence function. "Elegant shellder uses wrap greedily" "Well-documented golbat uses lovely kiss sedately" "Old-fashioned gyarados uses disable cautiously" "Impressionable gastly uses lovely kiss scarily" "Tidy graveler uses amnesia questionably"

Output of dexid function
"heavenly_tangela"   "bite-sized_krabby" 
"frizzy_machamp"     "impeccable_diglett"
"firm_spearow"       "delightful_ditto"  
"complete_golem"     "weary_pidgeot"     
"winged_bellsprout"  "realistic_machop"

Output of dexid function "heavenly_tangela" "bite-sized_krabby" "frizzy_machamp" "impeccable_diglett" "firm_spearow" "delightful_ditto" "complete_golem" "weary_pidgeot" "winged_bellsprout" "realistic_machop"

Hex sticker of the R package dexid with showing a non existing pokemon that looks like a cross breed of charmander and eevee

Hex sticker of the R package dexid with showing a non existing pokemon that looks like a cross breed of charmander and eevee

If you are in need of memorable/human readable uuids, may I suggest {{dexid}}, an #rstats package that creates ids from adjectives and pokemons? πŸ˜€

8 months ago 22 3 1 0
Video

We are currently developing a new interactive network viz package based on the JS engine G6. So many cool features to come! Checkout the current status on github github.com/cynkra/g6r #rstats

10 months ago 22 2 1 0
R Consortium Awards First Round of 2025 ISC Grants – R Consortium The R Consortium’s Infrastructure Steering Committee (ISC) is proud to announce the first round of 2025 grant recipients. These seven projects are receiving support to enhance and expand the capabilit...

Super grateful to have received an R Consortium grant to keep working on improving igraph! Our goal is to work on the interface between the c core and the r package. To date it is still too tedious to integrate new features seamlessly. r-consortium.org/posts/r-cons... #rstats cc @masalmon.eu

10 months ago 25 5 2 0
A simple plumber api that reads and writes parquet files:

# plumber.R
library(plumber)
library(nanoparquet) # To read Parquet files

#* @apiTitle Parquet File Upload API

#* Upload a Parquet file
#* @param req:file The request object
#* @post /upload_parquet
function(req) {
  # Access the uploaded file from the request
  multipart <- mime::parse_multipart(req)
  fp <- multipart$file$datapath
  data <- nanoparquet::read_parquet(fp)

  resp <- data.frame(
    status = "success",
    n_rows = nrow(data),
    n_cols = ncol(data),
    columns = names(data)
  )

  tmp <- tempfile(fileext = "parquet")
  nanoparquet::write_parquet(resp, tmp)
  on.exit(unlink(tmp))

  readBin(tmp, "raw", n = file.info(tmp)$size)
}

A simple plumber api that reads and writes parquet files: # plumber.R library(plumber) library(nanoparquet) # To read Parquet files #* @apiTitle Parquet File Upload API #* Upload a Parquet file #* @param req:file The request object #* @post /upload_parquet function(req) { # Access the uploaded file from the request multipart <- mime::parse_multipart(req) fp <- multipart$file$datapath data <- nanoparquet::read_parquet(fp) resp <- data.frame( status = "success", n_rows = nrow(data), n_cols = ncol(data), columns = names(data) ) tmp <- tempfile(fileext = "parquet") nanoparquet::write_parquet(resp, tmp) on.exit(unlink(tmp)) readBin(tmp, "raw", n = file.info(tmp)$size) }

#Rstats hivemind: what is the correct way for a plumber API to read/write parquet files? I did not get `parser_parquet()` to work properly (and would rather have nanoparquet anyway) so this kind of works but I am unsure if thats ok πŸ™ˆ

11 months ago 1 0 1 0

Merging an 8 year old PR must be some sort of record πŸ˜…
github.com/igraph/rigra...
@gvegayon.bsky.social sorry it took so long πŸ˜€

1 year ago 4 1 2 1

yieks sorry that got eaten by the char limit:
github.com/cynkra/rchro...

1 year ago 1 1 0 0
Post image

New version of rchroma is now available! The #Rstats pkg wraps the API of ChromaDB, an open-source AI-native database that makes it easy to store, search, and retrieve vector embeddings alongside metadata. Perfect for building RAGs!

It is now much easier to run the container and save db tables.

1 year ago 6 0 1 0
Advertisement
Setting up igraph for success in the next decade – cynkra blog

New post on the cynkra blog with @schochastics.net & Kirill MΓΌller

"Setting up igraph for success in the next decade" ✨

Thanks to the R Consortium for supporting this project!

blog.cynkra.com/posts/2025-0...

#RStats

1 year ago 9 3 0 0
A practical benchmark of duckplyr – schochastics - all things R A blog about RStats by David Schoch

It is not a rigorous benchmark, but I was curious on how #duckdb duckplyr compares to other data wrangling packages in #Rstats. Turns out, it is pretty pretty fast πŸš€.

blog post: blog.schochastics.net/posts/2025-0...

1 year ago 18 3 2 0
Improving igraph interface: current deprecations

If you're an #RStats {igraph} user, please update your codebase according to deprecation messages. We try to make changes for the best. πŸ˜‰

r.igraph.org/articles/cur...

cc @schochastics.net

1 year ago 6 3 0 0
screenshot of a document that contains links processed by url-peek

screenshot of a document that contains links processed by url-peek

Not sure if this already exist, but I created a #quartopub filter which adds a domain preview to each link in a quarto html document. Might come in handy for accessibility.

πŸ“¦ github.com/schochastics...

#rstats

1 year ago 5 2 0 0
Hex sticker of the R package rchroma showing a stylized icon of a database in chroma colors

Hex sticker of the R package rchroma showing a stylized icon of a database in chroma colors

@christophsax.bsky.social and I wrote an #rstats package for ChromaDB which is now available on CRANπŸŽ‰πŸŽ‰πŸŽ‰

ChromaDB is an open-source vector database designed for efficient similarity searchβ€”great for working with LLM applications like RAGs!

πŸ“¦ github.com/cynkra/rchro...

1 year ago 8 2 0 1
Hex logo of the R package paperwizard showing a pixely wizard holding a newspaper

Hex logo of the R package paperwizard showing a pixely wizard holding a newspaper

Here is the result of one of my last academic endeavors: Paperwizard, an #rstats package to extract readable content (such as news articles) from webpages using Readability.js

πŸ“¦ github.com/schochastics...
πŸ“ blog.schochastics.net/posts/2025-0...

1 year ago 30 14 1 1
Creating data frames in Rust for R – schochastics - all things R A blog about RStats by David Schoch

Continuing the #Rust exploration in #RStats. Of course there is (r)polars to work with data frames in Rust but I was interested in how to create data frames "from scratch". Thanks to macros, it is actually pretty simpleπŸ™‚

blog.schochastics.net/posts/2025-0...

1 year ago 2 0 0 0
Rust in R beyond vectors – schochastics - all things R A blog about RStats by David Schoch

Getting back on the #Rust train and how to use it in #RStats.
Currently I am trying to understand how to work with non-vector inputs and returns. I wrote down some experiments in a blog post
blog.schochastics.net/posts/2025-0...

1 year ago 16 8 0 0
Preview
a cat is sitting in front of a laptop computer on a couch . ALT: a cat is sitting in front of a laptop computer on a couch .

Hey, #sna ppl! Submit your abstracts to Sunbelt 2025's "Tools and Data for Social Network Analysis" in Paris sunbelt2025.org (by Feb 20). We look for demos, sharing dev experiences, case studies, intros to SNA datasets, and more!
@schochastics.net
@franktakes.bsky.social
@zpneal.bsky.social

1 year ago 2 3 1 0
Advertisement
Screenshot of my profile with new job title: Data Scientist/DevOps Engineer at cynkra

Screenshot of my profile with new job title: Data Scientist/DevOps Engineer at cynkra

New Year, new career. Yesterday was my last day as an academic. Now it is time for the "Real World".

1 year ago 7 0 2 0
A dashboard showing stats on my GitHub usage in 2024
Total Contributions: 1155
Repositories created: 37
Issues opened: 66
Pull requests: 36
Stargazed: 22

longest streak:79 days
longest gap: 6 days
active days: 239

Weekday: most contributions where made on a Monday (least on Saturday).
Months: Most contributions were made in February (least in May)

A dashboard showing stats on my GitHub usage in 2024 Total Contributions: 1155 Repositories created: 37 Issues opened: 66 Pull requests: 36 Stargazed: 22 longest streak:79 days longest gap: 6 days active days: 239 Weekday: most contributions where made on a Monday (least on Saturday). Months: Most contributions were made in February (least in May)

Last year December I created my first #QuartoPub dashboard for a "GitHub Wrapped". Still works like a charm 😁 #rstats

github.com/schochastics...

1 year ago 3 0 0 0
code can be found here: https://github.com/schochastics/adventofcode/blob/main/2024/day07.R

code can be found here: https://github.com/schochastics/adventofcode/blob/main/2024/day07.R

#AdventofCode Day 07 in #Rstats
Yes this was again solvable with eval parse. Was that efficient? hell no! but doing left to right execution by inserting parentheses in a string is a 9000IQ move, I'd say

1 year ago 7 1 0 0
Rstats solution for Advent of code day 4. Code can be found here: https://github.com/schochastics/adventofcode/blob/main/2024/day04.R

Rstats solution for Advent of code day 4. Code can be found here: https://github.com/schochastics/adventofcode/blob/main/2024/day04.R

#AdventofCode Day 04 in #Rstats

1 year ago 4 0 0 0

Me leaving has nothing to do with the position I had, but just with academia in general. I am tired of it. Now it is time for a completely new chapter and I am super excited that this new chapter is gonna be full time #rstats at cynkra 😍 (2/2)

1 year ago 7 0 1 0
Senior Researcher & Team Lead for Transparent Social Analytics and Open Science GESIS – Leibniz-Institute for the Social Sciences is an internationally active research institute, funded by federal and state governments and member of the Leibniz Association. Starting as soon as po...

Not sure how many #academics are following me here, but here is a great opportunity to lead an awesome team of people in CSS at GESIS.

This is actually my position, because I will be leaving academia at the end of the year (1/2)

1 year ago 20 10 1 1
AdventOfCode Day 03 Solution with RStats
input <- paste0(readLines("input03.txt"), collapse = "")
mul <- `*`

mul_str <- unlist(stringr::str_extract_all(input, "mul\\([0-9]+,[0-9]+\\)"))
sum(vapply(mul_str, \(x) eval(parse(text = x)), numeric(1)))

input <- paste0("do()", input, "don't()")
matches <- paste0(stringr::str_extract_all(input, "(?<=do\\(\\))(.*?)(?=don't\\(\\))")[[1]], collapse = "")
mul_str <- unlist(stringr::str_extract_all(matches, "mul\\([0-9]+,[0-9]+\\)"))
sum(vapply(mul_str, \(x) eval(parse(text = x)), numeric(1)))

AdventOfCode Day 03 Solution with RStats input <- paste0(readLines("input03.txt"), collapse = "") mul <- `*` mul_str <- unlist(stringr::str_extract_all(input, "mul\\([0-9]+,[0-9]+\\)")) sum(vapply(mul_str, \(x) eval(parse(text = x)), numeric(1))) input <- paste0("do()", input, "don't()") matches <- paste0(stringr::str_extract_all(input, "(?<=do\\(\\))(.*?)(?=don't\\(\\))")[[1]], collapse = "") mul_str <- unlist(stringr::str_extract_all(matches, "mul\\([0-9]+,[0-9]+\\)")) sum(vapply(mul_str, \(x) eval(parse(text = x)), numeric(1)))

Starting #AdventOfCode on Day 03 with #RStats πŸ™‚
I think it took me like a second to scream EVAL PARSE!!!
One of my favorite concepts in R πŸ˜†

(my solutions can be found here: github.com/schochastics...)

1 year ago 3 0 1 0
GitHub - schochastics/quarto-social-share: Quarto Extension that adds buttons to share on social media Quarto Extension that adds buttons to share on social media - schochastics/quarto-social-share

The #QuartoPub extension to add "share on social media" buttons now also supports bluesky πŸŽ‰ #rstats

link: github.com/schochastics...

1 year ago 3 0 0 0
Advertisement
The Bundeslig League table after 10 games with a retro look created with the R package gt

The Bundeslig League table after 10 games with a retro look created with the R package gt

I tried to get a hang gt for so long and now I finally sat down and did it. It always felt cumbersome to me but I have to say it is quite easy to use once you get into it #Rstats

πŸ“œ writeup blog.schochastics.net/posts/2024-1...

1 year ago 3 0 0 0
Post image

Hello #rstats, giving this side another tryπŸ€—. To kick it off, here is a great fashion item. A t shirt made out of more than 2000 hexstickers πŸ˜…

here is the making of and how you can make one yourself: blog.schochastics.net/posts/2024-1...

1 year ago 51 6 2 2

Excited to announce the book project "R 4 Social Network Analysis". @termehs.bsky.social and I decided to write an open access introductory book for conducting Social Network Analysis in #Rstats.
Blog Post: blog.schochastics.net/posts/2024-0...
book (WIP): schochastics.github.io/R4SNA/

2 years ago 4 2 0 0
Preview
Data Imaginist - A bunch of giraffes, all bundled up ggraph 2.2.0 has been released. This was definitely not supposed to be a feature release, yet here we are…

ggraph 2.2.0 is outπŸŽ‰πŸŽ‰

Now with stronger support for spatial networks and various edge bundling techniques #rstats

2 years ago 32 10 0 0

Let some science communication be my first post here:
New paper out on my evergreen topic network centrality with @termehs.bsky.social

We assess how tough it is to reliably explain correlations among indices.

www.sciencedirect.com/science/arti...

#networkscience

2 years ago 3 1 0 0