Hogar Finanzas personales 10 Cosas que puede hacer en R que habría hecho en Microsoft Excel - Para Dummies

10 Cosas que puede hacer en R que habría hecho en Microsoft Excel - Para Dummies

Tabla de contenido:

Video: Curso Excel 2013: Crear Fórmulas con Referencias a Celdas de otras Hojas y otros Libros. 2024

Video: Curso Excel 2013: Crear Fórmulas con Referencias a Celdas de otras Hojas y otros Libros. 2024
Anonim

La hoja de cálculo es probablemente una de las aplicaciones de PC más utilizadas, y por una buena razón: las hojas de cálculo facilitan la realización de cálculos y otras operaciones en tablas. datos. Pero las hojas de cálculo también presentan algunos riesgos: son fáciles de corromper y muy difíciles de depurar. La buena noticia es que puedes usar R para hacer muchas de las mismas cosas que solías hacer en las hojas de cálculo.

Agregar totales de fila y columna

Una tarea que puede hacer con frecuencia en una hoja de cálculo es calcular los totales de fila o columna. La forma más fácil de hacerlo es usar las funciones rowSums () y colSums (). Del mismo modo, use rowMeans () y colMeans () para calcular los promedios.

Pruébelo en el iris del conjunto de datos incorporado. Primero, elimine la quinta columna, porque contiene texto que describe las especies de iris: >> iris. num <- iris [-5]

Luego, calcule la suma y la media de cada columna:

>> colsums (iris. Num)> colMeans (iris num.)

Estas dos funciones son muy convenientes, pero es posible que desee calcular alguna otra estadística para cada columna o fila. Hay una manera fácil de atravesar filas o columnas de una matriz o marco de datos: la función apply (). Por ejemplo, obtener el mínimo de una columna es lo mismo que aplicar una función min () a la segunda dimensión de sus datos: >> aplicar (iris num, 2, min)> aplicar (iris num, 2, max)
Números de formateo

Puede usar format () para convertir sus números en texto bonito, listo para imprimir. Esta función toma una serie de argumentos para controlar el formato de su resultado. Aquí hay algunos:

trim

:

Un valor lógico. Si es FALSO, agrega espacios para justificar a la derecha el resultado. Si es VERDADERO, suprime los espacios iniciales.

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

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

  • Además, usted controla el formato del punto decimal con decimal. marca, la marca entre los intervalos antes de el punto decimal con grande. mark, y la marca entre intervalos

después de el punto decimal con small. marca. Por ejemplo, puede imprimir el número 12345. 6789 con una coma como punto decimal, espacios como la marca grande y puntos como la marca pequeña: formato >> (12345. 6789, dígitos = 9, decimal. mark = ",", + big. mark = "", small. mark = ".", small. interval = 3) [1] "12 345, 678. 9" Como ejemplo más práctico, para calcular el medio de algunas columnas en mtcars y luego imprimir los resultados con dos dígitos después del punto decimal, use lo siguiente: >> formato x (x, dígitos = 2, nsmall = 2) mpg cyl disp hp "20.09 "" 6. 19 "" 230. 72 "" 146. 69 " Observe que el resultado ya no es un número sino una cadena de texto. Por lo tanto, tenga cuidado cuando use el formato de número: este debería ser el último paso en su flujo de trabajo de informes.

Si está familiarizado con la programación en lenguajes similares a C o C ++, entonces también puede ser útil la función sprintf (). Este contenedor le permite pegar su número formateado directamente en una cadena.

Aquí hay un ejemplo de convertir números en porcentajes: >> x 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 para 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%. Entonces, en este caso,%. 1f significa formatear el primer valor suministrado como un valor de punto fijo con un dígito después del punto decimal, y %% es un literal que significa imprimir un%.

Para formatear algunos números como moneda, en este caso, U. S. dollars, use: >> set. seed (1)> x sprintf ("$% 3. 2f", x) [1] "$ 265. 51" "$ 372. 12" "$ 572. 85" "$ 908. 21" "$ 201. 68 "

La función sprintf () te da una forma alternativa de pegar el valor de cualquier variable en una cadena: >> cosas precio sprintf ("% s cost $% 3. 2f ", cosas, precio) [1] "El pan cuesta $ 2.10" "las cookies cuestan $ 4. 00"

Lo que sucede aquí es que, como usted suministró dos vectores (cada uno con dos elementos) a sprintf (), su resultado es un vector con dos elementos. R recorre los elementos y los coloca en los literales sprintf ().

Puedes hacer todo con paste () y format () que puedes hacer con sprintf (), por lo que realmente no necesitas usarlo. Pero cuando lo haces, puede simplificar tu código.

Ordenando datos

Para ordenar datos en R, usa las funciones ordenar () u ordenar ().

Para ordenar los mtcars del marco de datos en orden creciente o decreciente de la columna hp, use: >> con (mtcars, mtcars [orden (hp),])> con (mtcars, mtcars [orden (hp, decreciente) = VERDADERO),])

Tomar decisiones con if

Las hojas de cálculo le dan la capacidad de realizar todo tipo de "¿Qué pasa si? "Análisis. Una forma de hacerlo es usar la función if () en una hoja de cálculo.

R también tiene la función if (), pero se usa principalmente para control de flujo en tus scripts. Como normalmente desea realizar un cálculo en un vector completo en R, generalmente es más apropiado usar la función ifelse ().

Aquí hay un ejemplo del uso de ifelse () para identificar automóviles con alta eficiencia de combustible en el conjunto de datos de mtcars: >> mtcars <- transform (mtcars, + mpgClass = ifelse (mtcars en mpg [mtcars $ mpgClass == "High"],]

Cálculo de totales condicionales

Otra cosa que probablemente hizo mucho en Excel es calcular sumas condicionales y cuenta con las funciones sumif () y countif ().

Puede hacer lo mismo en una de dos formas en R:

Use ifelse.

Simplemente calcule la medida del interés en un subconjunto de sus datos.

Supongamos que quiere calcular una media condicional de eficiencia de combustible en mtcars. Usted hace esto con la función mean (). Ahora, para obtener la eficiencia de combustible para los autos en cualquier lado de un umbral de 150 caballos de fuerza, intente lo siguiente: >> con (mtcars, mean (mpg)) [1] 20. 09062> con (mtcars, mean (mpg [hp con (mtcars, mean (mpg [hp> = 150])) [1] 15. 40667

Contar el número de elementos en un vector es lo mismo que preguntar sobre su longitud. Esto significa que la función Excel countif () tiene una R equivalente en longitud (): >> con (mtcars, longitud (mpg [hp> 150])) [1] 13

Transposición de columnas o filas

A veces es necesario transponer sus datos de filas a columnas o viceversa. En R, la función para transponer una matriz es t (): >> xx [1] [2] [3] [1,] 1 5 9 [2,] 2 6 10 [3,] 3 7 11 [4,] 4 8 12

Para obtener la transposición de una matriz, use t (): >> t (x) [1] [2] [3] [4] [1,] 1 2 3 4 [2,] 5 6 7 8 [3,] 9 10 11 12

También puede usar t () para transponer marcos de datos, pero tenga cuidado cuando haga esto. El resultado de una transposición es siempre una matriz (o matriz). Porque las matrices siempre tienen solo un tipo de variable, como numérico o de carácter, los tipos de variables de sus resultados pueden no ser los esperados.

Encontrar valores únicos o duplicados

Para identificar todos los valores únicos en sus datos, use la función unique (). Intente encontrar los valores únicos de la cantidad de cilindros en mtcars: >> unique (mtcars $ cyl) [1] 6 4 8

  • A veces querrá saber qué valores de sus datos son duplicados. Dependiendo de su situación, esos duplicados serán válidos, pero a veces las entradas duplicadas pueden indicar problemas de entrada de datos.

  • La función para identificar entradas duplicadas está duplicada (). En el iris del conjunto de datos incorporado, hay una fila duplicada en la línea 143. Pruébelo usted mismo: >> engaña a la cabeza (engaña) [1] FALSO FALSO FALSO FALSO FALSO FALSO> que (engaña) [1] 143> iris [engaña,] Sepal. Longitud Sepal. Ancho Pétalo. Longitud de pétalo. Ancho Especies 143 5. 8 2. 7 5. 1 1. 9 virginica

Debido a que el resultado de duplicated () es un vector lógico, puede usarlo como índice para eliminar filas de sus datos. Para hacer esto, use el operador de negación - el signo de exclamación (como en! Dupes): >> iris [! dupes,]> nrow (iris [! dupes,]) [1] 149

Trabajar con tablas de búsqueda

En una aplicación de hoja de cálculo como Excel, puede crear tablas de búsqueda con las funciones vlookup o una combinación de índice y coincidencia.

En R, puede ser conveniente usar merge () o match (). La función match () devuelve un vector con las posiciones de los elementos que coinciden con su valor de búsqueda.

Por ejemplo, para encontrar la ubicación del elemento "Toyota Corolla" en los nombres de las filas de mtcars, intente lo siguiente: >> index index [1] 20> mtcars [index, 1: 4] mpg cyl disp HP Toyota Corolla 33. 9 4 71. 1 65

Trabajar con tablas dinámicas

Para tablas simples en R, puede usar la función tapply () para lograr resultados similares a tablas dinámicas en Excel.Aquí hay un ejemplo del uso de tapply () para calcular la hp media para automóviles con diferentes números de cilindros y engranajes: >> con (mtcars, tapply (hp, list (cyl, gear), mean)) 3 4 5 4 97. 0000 76. 0 102. 0 6 107. 5000 116. 5 175. 0 8 194. 1667 NA 299. 5

Para tablas un poco más complejas, es decir, tablas con más de dos factores de clasificación cruzada, utilice el agregado () función: >> agregado (hp ~ cyl + gear + am, mtcars, mean) cyl gear am hp 1 4 3 0 97. 00000 2 6 3 0 107. 50000 3 8 3 0 194. 16667 4 4 4 0 78. 50000 5 6 4 0 123. 00000 6 4 4 1 75. 16667 7 6 4 1 110. 00000 8 4 5 1 102. 00000 9 6 5 1 175. 00000 10 8 5 1 299. 50000

Uso el objetivo busca y soluciona

En R, la función optimize () proporciona un mecanismo bastante simple para optimizar funciones.

Imagine que es el director de ventas de una empresa y necesita establecer el mejor precio para su producto. En otras palabras, encuentre el precio de un producto que maximice los ingresos.

En economía, un modelo simple de fijación de precios establece que las personas compran menos de un producto dado cuando el precio aumenta. Aquí hay una función muy simple que tiene este comportamiento: >> ventas <- función (precio) {100 - 0. 5 * precio}

El ingreso esperado es simplemente el producto del precio y las ventas esperadas: >> ingresos <- función (precio) {precio * ventas (precio)}

Puede usar la función de curva () para trazar funciones continuas. Esto toma una función como entrada y produce un diagrama. Trate de graficar el comportamiento de ventas e ingresos usando la función curve (), variando el precio de $ 50 a $ 150: >> curva oldpar (ventas, desde = 50, hasta = 150, xname = "precio", main = "Ventas ")> Curve (revenue, from = 50, to = 150, xname =" price ", main =" Revenue ")> par (oldpar)

Sus resultados deben ser similares a esto.

Un modelo de ventas e ingresos esperados.

Tiene un modelo funcional de ventas e ingresos. Puede ver inmediatamente que hay un punto de máximo ingreso. Luego, use la función R optimize () para encontrar el valor de ese máximo. Para utilizar optimize (), debe indicarle qué función usar (en este caso, revenue ()), así como el intervalo (en este caso, precios entre 50 y 150). De forma predeterminada, optimize () busca un valor mínimo, por lo que en este caso debe indicarle que busque el valor máximo: >> optimize (revenue, interval = c (50, 150), maximum = TRUE) $ maximum [1] 100 $ objetivo [1] 5000

Y ahí tienes. Cobra un precio de $ 100 y espera obtener $ 5,000 en ingresos.
10 Cosas que puede hacer en R que habría hecho en Microsoft Excel - Para Dummies

Selección del editor

Cómo organizar sus archivos multimedia de WordPress - Dummies

Cómo organizar sus archivos multimedia de WordPress - Dummies

Si ha estado ejecutando su blog de WordPress durante cualquier período de tiempo, puede olvidar fácilmente qué archivos ha subido utilizando el cargador de WordPress. La biblioteca de medios de WordPress le permite descubrir de manera conveniente y fácil qué archivos se encuentran en su carpeta Cargas. Para encontrar una imagen, un video o un archivo de audio que ya tiene ...

Cómo organizar su WordPress. com Blog por tema: dummies

Cómo organizar su WordPress. com Blog por tema: dummies

Categorizar tus publicaciones en WordPress proporciona una estructura organizativa para tu blog. Cada publicación de blog asignada a una categoría se agrupa con otras publicaciones en la misma categoría. Cuando su blog tiene algunos meses, esta estructura crea un buen directorio temático de publicaciones para usted y sus lectores. Las listas de categorías generalmente aparecen en ...

Cómo prevenir registros y splogs de spam en su red de WordPress - Dummies

Cómo prevenir registros y splogs de spam en su red de WordPress - Dummies

If eliges tener registros abiertos en los que cualquier miembro del público puede registrarse y crear un nuevo sitio en tu red de WordPress, en algún punto, bots automatizados ejecutados por usuarios maliciosos y los spammers visitarán la página de registro de tu red e intentarán crear una, o múltiples, sitios en su red. Lo hacen ...

Selección del editor

Excel Pronóstico de ventas para principiantes Hoja de referencia: imitaciones

Excel Pronóstico de ventas para principiantes Hoja de referencia: imitaciones

Cuando comienzas a aprender a predecir, a menudo es una buena idea apoyarse en las herramientas de Excel en el complemento de Análisis de datos. Pero su alcance es bastante limitado y, en poco tiempo, es probable que se encuentre aprovechando directamente las funciones de la hoja de cálculo de Excel. Cuando se encuentre usando todas las estadísticas inferenciales que vienen ...

Filtrado de números en una tabla de Excel 2007 - Dummies

Filtrado de números en una tabla de Excel 2007 - Dummies

Si está trabajando con una gran tabla de datos en Excel 2007, puede aplicar filtros de número a las columnas que contienen valores para ocultar temporalmente registros no deseados. Excel proporciona varias opciones para filtrar datos numéricos, incluido el filtrado de valores superiores o inferiores (usando la opción Top 10) o el filtrado de valores que están por encima o ...

Filtrar registros en una tabla de Excel 2007 con Autofiltro - Dummies

Filtrar registros en una tabla de Excel 2007 con Autofiltro - Dummies

Usar la función Autofiltro en Excel 2007 para ocultar todo en una tabla, excepto los registros que desea ver. El filtrado muestra un subconjunto de una tabla, que le proporciona una manera fácil de dividir sus datos en fragmentos más pequeños y manejables. El filtrado no reorganiza sus datos; simplemente oculta temporalmente filas que ...

Selección del editor

Operadores lógicos en Java - Dummies

Operadores lógicos en Java - Dummies

Un operador lógico (a veces llamado "operador booleano") en la programación Java es un operador que devuelve un resultado booleano que se basa en el resultado booleano de una o dos expresiones más. A veces, las expresiones que usan operadores lógicos se llaman "expresiones compuestas" porque el efecto de los operadores lógicos es permitirle combinar dos o ...

Saber Por qué Java y XML Mesh-Dummies

Saber Por qué Java y XML Mesh-Dummies

Java y XML son los cimientos de una nueva generación de aplicaciones y Web servicios. En caso de que no esté convencido de que tanto XML como Java disfrutan de la portabilidad multiplataforma, revise estos hechos sobre las dos tecnologías: en su breve duración, XML se ha convertido en el estándar mundial para representar datos estructurados y autodescriptivos. Las listas de registro XML ...

Lo que debe saber sobre el tamaño de su código Java - Dummies

Lo que debe saber sobre el tamaño de su código Java - Dummies

Cuando está codificando en Java, deberá tener en cuenta el tamaño real de su código. Veamos un ejemplo. Pero primero. aquí están las nuevas palabras del vocabulario de hoy: foregift (fore-gift) n. Una prima que un arrendatario le paga al arrendador al tomar un arrendamiento. aquí anteriormente (aquí en primer plano) adv. En una parte anterior ...