For example, I'd like to get correlation matrix by 'Species' from 'iris' dataset.
library(pacman)
p_load(tidyverse,corrr)
below code works.
correlate(iris[-5])
but what I want to do is like below code, which doesn't work:
group_by(iris, Species) %>%
correlate()
I found a solution, but ANY more short, elegant code using tidyverse
?
group_by(iris,Species) %>%
nest() %>%
mutate(cordf = map(data, correlate)) %>%
unnest(cordf)
If python::pandas , below is available
iris.groupby('Species').corr()
If using reticulate
, above is same as below
library(reticulate)
pd = import('pandas')
df = pd$DataFrame(iris %>% dict)
df$groupby('Species')$corr()
1 Like
mara
March 15, 2018, 11:15am
2
Could you please turn this into a self-contained reprex (short for minimal repr oducible ex ample)? It will help us help you if we can be sure we're all working with/looking at the same stuff.
If you've never heard of a reprex before, you might want to start by reading the tidyverse.org help page . The reprex dos and don'ts are also useful.
For pointers specific to the community site, check out the reprex FAQ, linked to below.
Why reprex?
Getting unstuck is hard. Your first step here is usually to create a reprex, or reproducible example. The goal of a reprex is to package your code, and information about your problem so that others can run it and feel your pain. Then, hopefully, folks can more easily provide a solution.
What's in a Reproducible Example?
Parts of a reproducible example:
background information - Describe what you are trying to do. What have you already done?
complete set up - include any library() calls and data to reproduce your issue.
data for a reprex: Here's a discussion on setting up data for a reprex
make it run - include the minimal code required to reproduce your error on the data…