Saltar al contenido

Limitar el número de decimales en un marco de datos (R)

Pudiera darse el caso de que encuentres algún fallo en tu código o trabajo, recuerda probar siempre en un ambiente de testing antes subir el código al proyecto final.

Solución:

Aquí is.num es TRUE para columnas numéricas y FALSE de lo contrario. Luego aplicamos round a las columnas numéricas:

is.num <- sapply(DF, is.numeric)
DF[is.num] <- lapply(DF[is.num], round, 8)

Si lo que quería decir no era que necesita cambiar el marco de datos sino que desea mostrar el marco de datos en 8 dígitos, entonces es solo:

print(DF, digits = 8)

En dplyr 1.0.0 y posteriores se puede usar across dentro de mutate como esto:

library(dplyr)
DF %>% mutate(across(is.numeric, ~ round(., 8)))

A dplyr solución usando mutate_if para verificar si las columnas en el marco de datos actual son numeric luego aplicar el round() función para ellos

# install.packages('dplyr', dependencies = TRUE)
library(dplyr)

DF %>% 
  mutate_if(is.numeric, round, digits = 8)
#>   NE001358.Log.R.Ratio
#> 1          -0.09703693
#> 2           0.13189355
#> 3           0.06292665
#> 4           0.29955913
#> 5          -0.01288043
#> 6           0.06397440
#> 7           0.02716694
#> 8           0.32239536
#> 9           0.17959129

### dplyr v1.0.0+
DF %>% 
  mutate(across(where(is.numeric), ~ round(., digits = 8)))
#>   NE001358.Log.R.Ratio
#> 1            -0.097037
#> 2             0.131894
#> 3             0.062927
#> 4             0.299559
#> 5            -0.012880
#> 6             0.063974
#> 7             0.027167
#> 8             0.322395
#> 9             0.179591

Creado el 2019-03-17 por el paquete reprex (v0.2.1.9000)

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *