es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Resumiendo una columna que no está especificada en la función de resumen por dplyr.

Estoy tratando de reducir el tamaño de mi código siguiendo este camino:

biblioteca (dplyr)

set.seed (1453)

summarise_funs <- c (‘mean’, ‘median’, ‘sum’)

iris%>%
mutate (y = rnorm (nrow (.), mean = 2, sd = 3))%>%
group_by (Species)%>%
summarise (stat = get (summarise_funs [3]) (Sepal.Width))

Funciona bien, pero intenté resumir la columna y teniendo su media por grupos que creé, mientras que Sepal.Width está especificado.

En la práctica, mi código debería verse así;

biblioteca (dplyr)

set.seed (1453)

summarise_funs <- c (‘mean’, ‘median’, ‘sum’, ‘y_mean’)

iris%>%
mutate (y = rnorm (nrow (.), mean = 2, sd = 3))%>%
group_by (Species)%>%
summarise (stat = get (summarise_funs [4]) (Sepal.Width))

y la salida debería ser (media de y);

Especies estatua
<fct>></fct>>
1 setosa 1.81
2 versicolor 1.85
3 virginica 2.34

¿Es posible crear una función y_mean sin especificar y en el resumen y cuando ya se ha especificado Sepal.Width?

Si es así, ¿cómo debería ser la función?

Gracias de antemano.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, es posible crear una función y_mean sin especificar y en summarise y cuando Sepal.Width ya está especificado. La función debería verse así:

    y_mean <- function(x, y) {
      mean(y[x])
    }
    

Comments are closed.