# ¿Por qué está doblando () devuelve una variable de factor? -- r campo con dplyr campo con double campo con mutate camp Relacionados El problema

## Why is.double() returns a factor variable?

1 ### problema

Español

La función ` is.double() devuelve un factor ` variables. Aquí está el código y su salida:

` ` df <- data.frame(City = c("A","B","A","C","A","B"),  Empl = c(3,6,3,2,6,8), UnEmpl = c(4,7,5,6,3,1))  select_if(df, is.double)   ``

Esto es lo que obtenemos, todas las variables double se devuelven:

` ` Empl UnEmpl <dbl> <dbl> 3   4            6   7            3   5            2   6            6   3            8   1      ``

después de algunas operaciones

` ` df <- df %>% group_by(City) %>% mutate(total = sum(Empl,UnEmpl)) select_if(df, is.double)   ``

Esto es lo que obtenemos, ` city es una variable 9988777668 pero aún devuelta por la función is.double() `

` ` is.double()0  ``
Original en ingles

The `is.double()` function returns a `factor` variables. Here is the code and it's output:

``df <- data.frame(City = c("A","B","A","C","A","B"),  Empl = c(3,6,3,2,6,8), UnEmpl = c(4,7,5,6,3,1))  select_if(df, is.double) ``

This is what we get, all `double` variables are returned:

``Empl UnEmpl <dbl> <dbl> 3   4            6   7            3   5            2   6            6   3            8   1    ``

after some operations

``df <- df %>% group_by(City) %>% mutate(total = sum(Empl,UnEmpl)) select_if(df, is.double) ``

This is what we get, `city` is a `factor` variable but still returned by the function `is.double()`

``City    Empl  UnEmpl total <fctr>  <dbl> <dbl>  <dbl> A   3   4   24   B   6   7   22   A   3   5   24   C   2   6   8    A   6   3   24   B   8   1   22 ``

## Lista de respuestas

0  La mejor respuesta

actualización

La documentación de ` select_if() dice explícitamente las variables de agrupación siempre se mantienen. También puede comprobar esta página de github de los autores de dplyr . Eventualmente, desagrupar el nuevo df con ungroup() hace el truco. `

` ` library(dplyr) df <- data.frame(City = c("A","B","A","C","A","B"),                   Empl = c(3,6,3,2,6,8),                   UnEmpl = c(4,7,5,6,3,1))  select_if(df, is.double)  > select_if(df, is.double)   Empl UnEmpl 1    3      4 2    6      7 3    3      5 4    2      6 5    6      3 6    8      1  df <- df %>%    group_by(City) %>%    mutate(total = sum(Empl,UnEmpl))  > select_if(ungroup(df), is.double)   Empl UnEmpl total 1    3      4    24 2    6      7    22 3    3      5    24 4    2      6     8 5    6      3    24 6    8      1    22    ``

Para concluir, lo que observa es el comportamiento previsto.

UPDATE

The documentation of `select_if()` explicitly says the grouping variables are always retained. You can also check this Github page from the authors of dplyr. Eventually, ungrouping the new `df` with `ungroup()` does the trick.

``library(dplyr) df <- data.frame(City = c("A","B","A","C","A","B"),                   Empl = c(3,6,3,2,6,8),                   UnEmpl = c(4,7,5,6,3,1))  select_if(df, is.double)  > select_if(df, is.double)   Empl UnEmpl 1    3      4 2    6      7 3    3      5 4    2      6 5    6      3 6    8      1  df <- df %>%    group_by(City) %>%    mutate(total = sum(Empl,UnEmpl))  > select_if(ungroup(df), is.double)   Empl UnEmpl total 1    3      4    24 2    6      7    22 3    3      5    24 4    2      6     8 5    6      3    24 6    8      1    22  ``

To conclude, what you observe is the intended behavior.

0  Crear una función para normalizar las columnas al valor más temprano usando TIMEDEDE?  ( Create a function to normalize columns to earliest value using tidyverse )
Los datos de datos con los que trabajo tienen un número arbitrario de variables y son de longitud arbitraria. Me gustaría crear una función para normalizar ca...

1  ¿Cómo calcular la entalpía mediante el uso de Mutate para cada columna en R?  ( How to calculate enthalpy by using mutate for each column in r )
Me gustaría calcular entalpy usando función de tabla de vapor . Quiero adaptar la función a una tabla de tormentos que incluyen temperatura y presión, pero f...

0  r dplyr combinando mutate_at, vars (Finalter_with), IFELSE,! IS.NA  ( R dplyr combining mutate at varsends with ifelse is na )
Hola Tengo 10 variables con el mismo final y estoy tratando de usar mutate_at para crear una nueva variable basada en los datos en esas variables y asignarla ...

0  str_replace dentro de un mutado sobre una lista o un conjunto de datos en r  ( Str replace within a mutate over a list or a dataset in r )
Me gustaría agregar un cargador a una fila dentro de un conjunto de datos basado en otro conjunto de datos. Así que tengo dos conjuntos de datos, uno llamado ...

0  Función para mutar varias filas en un tormento, tomando la cantidad de filas de otra tormenta  ( Function to mutate a number of rows in a tibble taking the number of rows from )
Estoy buscando hacer algo que se vea simple, pero no puede obtener la salida que quiero Tengo un montón de observación con día, categorías y color obs...

0  dplyr mutate: la indexación recursiva falló  ( Dplyr mutate recursive indexing failed )
Tengo un problema con Mutate y una función auto-escrita. Mis datos son básicamente de la siguiente manera: license_sets <- list(x = c("A", "B"), y = c("C",...

0  ¿Cómo creo una nueva variable basada en dos valores categóricos en R?  ( How do i create a new variable based on two categorical values in r )
Tengo una variable de estado "strong> marital , con valores posibles" casados ​​"" divorciados "" viudos "" separados "" nunca casados ​​"", parte de una pare...

1  Usando lappy con mutado en r [duplicado]  ( Using lapply with mutate in r )
Esta pregunta ya tiene respuestas aquí : Mutate múltiples columnas en un contexto de datos ...

0  ¿Por qué los datos modificados / FCT_RELEVEL DE MUTATE / FCT_RELEVEL de Tidyverd se encuentran más allá de las posiciones X-BIN?  ( Why has tidyverses mutate fct relevel changed data beyond just x bin positions )
Tengo un conjunto de datos de biomasa simple. En un marco, he usado FCT_RELEVEL en las categorías de tratamiento para reorganizarlas en el eje X como "bajo, m...

88  dplyr mutate con valores condicionales  ( Dplyr mutate with conditional values )
En un fábrico de datos grande ("MyFile") con cuatro columnas, tengo que agregar una quinta columna con valores condicionalmente en función de las primeras cua...

© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos