emilyriederer / website

Blog / website repo
https://emilyriederer.com
3 stars 1 forks source link

Python Rgonomics | Emily Riederer #58

Open utterances-bot opened 7 months ago

utterances-bot commented 7 months ago

Python Rgonomics | Emily Riederer

Exploring emerging tools that help R users feel at home (Image credit: Allison Horst)

https://emilyriederer.netlify.app/post/py-rgo/

morrisLuke commented 7 months ago

This may very well be the series of posts I need in my life at this stage. Thank you!

cboettig commented 6 months ago

What a wonderful piece! I'll definitely be pointing my fellow R users here.

I'm curious if you've tried/have thoughts on using ibis for dplyr-y stuff, https://ibis-project.org/tutorials/ibis-for-dplyr-users. While I enjoy polars, ibis is even a bit closer to dplyr syntax (not as close as tidypolars), but I really like how ibis can do the dplyr trick of working with different SQL backends (especially duckdb).

Also curious if you've tried/have thoughts on plotnine for graphics? https://plotnine.readthedocs.io/en/v0.12.4/ It doesn't have all the edge cases, but ggplot is so wired in my fingers I just love having that grammar in python.

emilyriederer commented 6 months ago

Thanks @cboettig ! That's a great lead on ibis and I'll definitely check it out. I've been really impressed with duckdb performance wise but have mostly used it "raw" or just via the duckdb python package, so this wasn't on my radar. That's especially intriguing if it could also be a lingua franca for those coming from SQL as well!

On plotnine, I think it's a super impressive project and well-done port. The reason I tend towards seaborn is that is seems philosophically close to R but still has such wide adoption in the python world that I suspect there's more growth potential there. As far as I can tell (and I could be very wrong), plotnine doesn't seem to have super wide adoption beyond ggplot2 fans

The discussion on this post also made me realize there are probably multiple personas to consider here. Like plotnine is probably by far the better choice for "predominately R person who occasionally has to do python" whereas seaborn might be better for "former R person aspiring to become a python dev"

AlbertRapp commented 6 months ago

Fantastic blog post, Emily. I enjoyed reading it :)

apsteinmetz commented 6 months ago

First of all, this is a wonderful post. The TLC you put into it is amazing. But...as soon as I tried to work through setting up the stack in Windows I went off the rails. "Powershell? What is Powershell?" Okay, got it.

PS C:\WINDOWS\system32> Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
& : File C:\WINDOWS\system32\install-pyenv-win.ps1 cannot be loaded because running scripts is disabled on this
system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:173
+ ... n.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
+                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
PS C:\WINDOWS\system32>

I figured that out, too. So much command line. Don't get me started on how intimidating VS Code is. Anyway, this is not a plea for tech support but it's a struggle every step of the way and R setup is not. If I was a Linux sysadmin, I'd feel differently.

emilyriederer commented 6 months ago

I hear you, @apsteinmetz ! It's always a struggle when tools work differently across platforms so all the commands are slightly different. On VS Code, for a long time I wanted to like it, but I couldn't warm up to it because it did feel like there was way too much going on. Something that helped me is trying out some GitHub codespaces for existing projects that others had configured with settings that they liked. Unfortunately, the one that sticks in my mind is the intro repo from @dbt-labs and not to do with R. Maybe I'll try to hunt one down with some of the helpful python extensions or set up a template repo myself.. 🤔