Cómo dar formato a los números en r

Video: Formato de números en Excel 2010

Cuando se produce informes en R, tendrá que parecen todas muy bien formateados para mejorar el impacto de sus datos en el visor de sus números. Puedes usar formato() para convertir sus números en el texto bastante, lista para imprimir. Esta función toma una serie de argumentos para controlar el formato de su resultado. Aquí están algunos:

  • recortar: Un valor lógico. Si FALSO, agrega espacios a la derecha; justificar el resultado. Si CIERTO, que suprime los espacios iniciales.

  • dígitos: ¿Cuántos dígitos significativos de los valores numéricos para mostrar.

  • nsmall: El número mínimo de dígitos después del punto decimal.

Además, se puede controlar el formato del punto decimal con decimal.mark, la marca entre los intervalos antes del punto decimal con big.mark, así como la marca entre los intervalos después del punto decimal con small.mark.

Por ejemplo, puede imprimir el número 12345.6789 con una coma como separador decimal, espacios como la marca grande, y los puntos como la marca pequeña:

gt; formato (12345.6789, dígitos = 9, decimal.mark =",", + Big.mark =" ", Small.mark =".",, Small.interval = 3) [1] "12 345,678.9"

Como un ejemplo más práctico, para el cálculo de los medios de algunas columnas mtcars y luego imprimir los resultados con dos dígitos después del punto decimal, utilizar lo siguiente:

gt; x lt; - colMeans (mtcars [, 1: 4]) gt; formato (x, dígitos = 2, nsmall = 2) disphp mpg Cil" 20.09" " 6.19" "230,72" "146.69"

Observe que el resultado ya no es un número, sino una cadena de texto.

Si está familiarizado con la programación en lenguajes similares a C o C ++, entonces también se puede encontrar el sprintf () función útil, porque sprintf () es una envoltura alrededor de la C printf () función. Este envoltorio le permite pegar el número formateado directamente en una cadena.

Aquí está un ejemplo de la conversión de números en porcentajes:

gt; x lt; - SEC (0,5, 0,55, 0,01) gt; sprintf ("% .1f %%", 100 * x) [1] "50,0%" "51,0%" "52,0%" "53,0%" "54,0%" "55,0%"

Esto es lo que hace: El primer argumento sprintf () indica el formato - en este caso, “% .1f %%”. El argumento de formato utiliza literales especiales que indican que la función debe reemplazar este literal con una variable y aplicar algún formato. Los literales siempre comienzan con el % símbolo. Por lo tanto, en este caso, % .1f medios para formatear el primer valor suministrado como una pointvalue fijo con un dígito después del punto decimal, y %% es un literal que significa una impresión %.

Video: Formato de Numero en Word

Para dar formato a algunos números como moneda - en este caso, dólares estadounidenses - utilizan la siguiente:

gt; set.seed (1) gt; x lt; - 1000 * runif (5) gt; sprintf ("$% 3.2f", X) [1] "$ 265,51" "$ 372,12" "$ 572,85" "$ 908,21" "$ 201.68"

Como se vio anteriormente, el literal % 3.2f medios para formatear el valor como un valor de punto fijo con tres dígitos antes del decimal y dos dígitos después del punto decimal.

los sprintf () función es mucho más potente que: Se le da una forma alternativa de pegar el valor de cualquier variable en una cadena:

gt; cosas lt; - c ("pan de molde", "galletas") Gt; precio lt; - c (2,1, 4) gt; sprintf ("% S $ COSTED% 3.2f ", Cosas, precio) [1] "pan costó $ 2.10 " "Galletas presupuestado $ 4.00 "

Lo que sucede aquí es que, debido a que proporcionó dos vectores (cada uno con dos elementos a) sprintf (), el resultado es un vector con dos elementos. ciclos de R a través de los elementos y los coloca en el sprintf () literales. Así, % s (Indicando el valor de formato como una cadena) obtiene el valor "pan de molde" la primera vez y "galletas" la segunda vez.

Usted puede hacer todo con pegar() y formato() que se puede hacer con sprintf ().

Artículos Relacionados