Práctica 1: Introducción a R



Documentos relacionados
PRACTICAS ORDENADOR. Programación Lineal con R

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

Uso del programa CALC

MS ACCESS BÁSICO 6 LOS INFORMES

El programa Minitab: breve introducción a su funcionamiento. Para mostrar la facilidad con la que se pueden realizar los gráficos y cálculos

Centro de Capacitación en Informática

PRÁCTICAS DE GESTIÓN GANADERA:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Introducción a la Estadística con Excel

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico.

Índice general de materias LECCIÓN 7 74

Crear una presentación

Se podría entender como una matriz de filas y columnas. Cada combinación de fila y columna se denomina celda. Por ejemplo la celda A1, B33, Z68.

La ventana de Microsoft Excel

CLASE 12.-INSERTAR COLUMNAS

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Proyecto de Facturación con Filemaker Pro 12

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS

... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4

2_trabajar con calc I

Combinar correspondencia (I)

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX

TEMA 5: HOJAS DE CÁLCULO. Edición de hojas de cálculo con OpenOffice Calc

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

MICROSOFT EXCEL Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL

Comenzando con MATLAB

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

3.1. Guardar un libro de trabajo

MANUAL BÁSICO DE WRITER

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

La visualización de la ventana de Word tiene las siguientes partes:

CÓMO CREAR NUESTRO CATÁLOGO

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

Gestión de Subtotales en Documentos de Venta WhitePaper Febrero de 2007

Título: Manual Básico de Calc. Parte I: Introducción a Calc de OpenOffice.org

BREVE MANUAL DE SOLVER

Kepler 8.0 USO DEL ERP

Guardar y abrir documentos

Herramientas computacionales para la matemática MATLAB: Arreglos

Introducción a la Informática Aplicada a la Filología TABLAS

Elementos de Microsoft Word

Windows Journal en dos patadas

Instructivo de Microsoft Excel 2003

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

Estadística con Excel Informática 4º ESO ESTADÍSTICA CON EXCEL

Introducción al SPSS/PC. 1. El editor de datos. Taller de Estadística

EDITOR DE ECUACIONES en Open Office.org Writer INTRODUCCIÓN

Imprimir códigos de barras

Módulo I - Word. Iniciar Word Finalizar Word Definición de elementos de pantalla Escribir texto en un documento El cursor...

KIG: LA GEOMETRÍA A GOLPE DE RATÓN. Asesor de Tecnologías de la Información y de las Comunicaciones

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007

Gestión de Retales WhitePaper Noviembre de 2009

Paso 1 de 13. Paso 2 de 13. Guía de aprendizaje de Flash CS5 Tutorial 3. Creación de un logotipo textual.

Formularios. Formularios Diapositiva 1

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

MANUAL WINDOWS MOVIE MAKER. Concurso de Gipuzkoa

Manual de Introducción a SIMULINK

10. GENERADOR DE INFORMES.

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato de sección.

UNIDAD 1. LOS NÚMEROS ENTEROS.

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

Bases de datos en Excel

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Manual de usuario de Windows Live Writer

LAS BARRAS. La barra de acceso rápido

CÓMO INSERTAR UN LIBRO ELECTRÓNICO DESDE UN PDF, DOC, PPT, FOTOS CREADO EN UNA WEB EXTERNA COMO SCRIBD EN UNA PÁGINA O SECCIÓN PARA VERLO ON-LINE

Manual de configuración de Thunderbird ÍNDICE

Notas para la instalación de un lector de tarjetas inteligentes.

3_formato I. NOTA: al pegar unas celdas sobre otras no vacías, se borrará el contenido de estas últimas.

TEXTOS COORDENADOS EN AUTOCAD

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

1) Aplicación Inp. Si has llegado hasta aquí poco te podemos decir ya de la misma. Seguimos.

Ahora comencemos!... Las operaciones matemáticas fundamentales pueden realizarse de forma rápida y sencilla con Miicrosofftt Excell.

Diagrama de Gantt en Excel

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

Base de datos en Access

ComptaPunt MANUAL DE INSTRUCCIONES PARA EL CAMBIO DE EJERCICIO

Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C.

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Práctica 2 de Microsoft Access

Aplicaciones de Estadística Descriptiva

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L Premià de Mar Barcelona Tel. (93) Fax marketing@t2app.

Operación de Microsoft Word

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

Manual Smart Sync. para profesorado

PLANTILLAS DE DOCUMENTOS EN WORD 2007

AUTOR CARLOS EDUARDO BUENO VERGARA JORGE ARMANDO BUENO VERGARA USO DE LOS OBJETOS DEL PROGRAMA. Dfd INFORMÁTICA II PROFESOR. JOSÉ FRANCISCO AMADOR

Base de datos OpenOffice ª parte. por Pedro Peregrín González CEIP San Juan de Dios Granada -España-

Gestor de contenidos de la plataforma web

SOLUCIÓN CASO GESTIÓN DE COMPRAS

Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.

Transcripción:

Práctica 1: Introducción a R 1. Introducción R es un lenguaje de alto nivel y un entorno para el análisis de datos y gráficos. Puede descargarse libremente del sitio llamado CRAN (Comprehensive R Archive Network) en la siguiente dirección: http://cran.r-project.org o bien, simplemente buscando CRAN en Google. Al llegar a la pantalla anterior seguid para descargar el programa la siguiente ruta: windows/base/r-2.7.2-win32.exe. Una vez instalado el programa en entorno Windows, lo que vemos es la interfaz RGui (GUI es Graphical User Interface en inglés), con el símbolo > esperando la entrada de instrucciones, tal y como puede apreciarse en la figura siguiente: 1

El menú principal contiene entradas típicas de otras aplicaciones: Archivo, Editar, Visualizar, Ventanas y Ayuda, más otras dos Misc y Paquetes. El menú de Ayuda será importante en esta fase inicial. Para obtener esta ayuda podemos también optar por introducir instrucciones directamente por teclado. Introduce por ejemplo: > help(vector) y aparecerá una ventana de ayuda con información sobre el comando vector. Podemos acceder a la misma pantalla desde el menú Ayuda/Funciones R (texto), aparecerá un cuadro en el que deberemos introducir la palabra vector. Si no recordamos la grafía de una expresión podemos utilizar la expresión apropos poniendo entre paréntesis, y entre comillas, la función que buscamos. 2

que nos da las expresiones que contienen el término integer. Lo mismo se puede conseguir con Ayuda/Sobre y en el cuadro de diálogo que aparece introducimos integer. R es un lenguaje orientado a objetos. Uno de los más simples es vector. Si queremos crear un vector con las componentes (2, 3, 8) y llamarlo x, tecleamos > x <- c(2, 3, 8) Fíjate en que has de introducir el nombre del vector, x, los símbolos <-, la letra c (de concatenate en inglés), y por último las coordenadas del vector entre paréntesis. Para ver el vector que hemos creado, simplemente, tecleamos su nombre: > x [1] 2 3 8 Como ya se ha podido observar al crear el vector x, para hacer asignaciónes a las variables se utiliza una combinación de los símbolos < y - (guión). Y, en esta última versión, también podemos utilizar el signo =. El signo = también se utilizará para asignar valores a parámetros en las funciones. En la salida anterior [1] indica que el 2 que le sigue es el primer elemento del vector. Si el vector ocupara más de una línea, cada una de las nuevas líneas empezaría por [n], indicando n el lugar que ocupa dentro del vector la coordenada que le sigue. Las componentes del vector se referencian por medio de índices entre corchetes. 3

> x <- c(2, 3, 8) > x [1] 2 3 8 > x[2] [1] 3 > x[3] [1] 8 Podemos asignar un nuevo valor a alguna de las componentes del vector como se muestra en el siguiente ejemplo: > x[2] <- -3 > x [1] 2-3 8 Hemos reemplazado la segunda componente del vector x por el valor -3. Nota: Para corregir una instrucción ya introducida, podemos acceder a ella pulsando la tecla de flecha hacia arriba, las veces que sea necesario. Para dejar una instrucción a medias podemos pulsar la tecla Escape. 2. Operaciones con vectores y fucniones a) Multiplicación de un vector por un número > 2 * x [1] 4-6 16 b) Potencias > x^3 [1] 8-27 512 c) Longitud Devuelve la dimensión de un vector > length(x) 4

[1] 3 d) Suma y sumas acumuladas Devuelve la suma de las componentes del vector y la suma acumulada de las componentes > sum(x) [1] 7 > cumsum(x) [1] 2-1 7 e) Valor máximo y mínimo Devuelven los valores máximo y mínimo de las componentes de un vector > max(x) [1] 8 > min(x) [1] -3 f) Media, mediana, cuasivarianza y cuasidesviación típica de las componentes Calculan la media, mediana, cuasivarianza, y cuasidesviación típica de las componentes del vector > mean(x) [1] 2.333333 > median(x) [1] 2 > var(x) [1] 30.33333 > sd(x) [1] 5.50757 5

g) Producto de las componentes y productos acumulados > prod(x) [1] -48 > cumprod(x) [1] 2-6 -48 h) Cuartiles de x > quantile(x) 0% 25% 50% 75% 100% -3.0-0.5 2.0 5.0 8.0 i) Ordenación creciente de las componentes del vector > sort(x) [1] -3 2 8 j) Colocar las componentes de un vector en orden inverso a como han sido introducidas > rev(x) [1] 8-3 2 Cómo ordenarías en orden decreciente? k) Suma de vectores > x <- c(2, -3, 8) > y <- c(1, 2, 3) > x + y [1] 3-1 11 l) Combinación lineal de dos vectores > 5 * x - 2 * y 6

[1] 8-19 34 m) Producto y cociente de vectores > x * y [1] 2-6 24 > x/y [1] 2.000000-1.500000 2.666667 n) Covarianza y coeficiente de correlación > cov(x, y) [1] 3 > cor(x, y) [1] 0.5447048 3. Funciones de uso general 3.1. Exponenciales y logarítmicas Logaritmos neperianos de las componentes > log(y) [1] 0.0000000 0.6931472 1.0986123 Logaritmos en diferentes bases (por ejemplo, base 10) > log(y, 10) [1] 0.0000000 0.3010300 0.4771213 Potencias de base e > exp(y) [1] 2.718282 7.389056 20.085537 7

Potencias en cualquier otra base (por ejemplo, 2) > 2^y [1] 2 4 8 3.2. Raíces cuadradas > sqrt(y) [1] 1.000000 1.414214 1.732051 3.3. Funciones trigonométricas R considera que el argumento viene dado en radianes > sin(y) [1] 0.8414710 0.9092974 0.1411200 > cos(y) [1] 0.5403023-0.4161468-0.9899925 > tan(y) [1] 1.5574077-2.1850399-0.1425465 > z <- c(0.5, 0.7, 0.2) > z [1] 0.5 0.7 0.2 > asin(z) [1] 0.5235988 0.7753975 0.2013579 > acos(z) [1] 1.0471976 0.7953988 1.3694384 > atan(z) [1] 0.4636476 0.6107260 0.1973956 Todas estas funciones se pueden aplicar directamente sobre valores numéricos. > log(3) [1] 1.098612 8

3.4. Otras funciones choose(m,n) da el número de combinaciones de m elementos de orden n > choose(10, 2) [1] 45 factorial(n) da el factorial de un número (n), o lo que es lo mismo, calcula las permutaciones de n elementos > factorial(6) [1] 720 runif(n) genera al azar n valores comprendidos entre 0 y 1 > runif(5) [1] 0.2358614 0.5683257 0.9992840 0.2920381 0.2061905 4. Funciones generadas por el usuario Vamos a crear una función que a cada componente de un vector le reste la media de todas las componentes del vector: desvia<-function(x)x-mean(x) > desvia <- function(x) { + x - mean(x) + } function es la instrucción para crear una función. La x que le sigue es el argumento de la función y entre llaves está lo que la función hace con el argumento. En este ejemplo a cada componente del vector le resta la media de todas las componentes. Para ejecutar la función basta con introducir el nombre de la misma seguido del argumento entre paréntesis > desvia(x) [1] -0.3333333-5.3333333 5.6666667 Recordemos que 9

> x [1] 2-3 8 > mean(x) [1] 2.333333 Cómo calcularías la media creando tu propia función? Cómo calcularías la varianza creando tu propia función? Después de intentar dar una respuesta, mira las soluciones al final de este documento, si lo consideras necesario. 5. Introducción de datos Cuando necesitamos introducir pocos datos, podemos hacerlo como hasta ahora > a <- c(2, 6, 8, 3, 5, 0, 9, 7, 6, 1) Para cantidades no muy grandes de datos podemos utilizar scan() > b<-scan() 1: 1.25 2: 2.56 3: 3.5 4: 2.11 5: 6.32 6: 5.22 7: 6.41 8: Read 7 items Al introducir la instrucción nos aparece 1 y el programa queda a la espera de que introduzcamos un valor, lo hacemos y damos a Enter y aparece 2 para que introduzcamos el siguiente valor. Así continuaremos hasta el final. Para indicar que terminamos y que ya no hay más datos debemos hacer Enter sin introducir ningún valor. Si queremos editar una variable ya introducida podemos usar la función data.entry(b), que abre una ventana como la siguiente: 10

Podemos agregar un nuevo valor en la fila 8 y cerrar la ventana. De esta forma el nuevo valor quedará incorporado al vector b: > b [1] 1.25 2.56 3.50 2.11 6.32 5.22 6.41 Podemos observar que ya hay 8 valores. El último que acabamos de introducir es 3.21. Para introducir datos en una variable nueva con data.entry(x), creamos un vector vacío. Por ejemplo: > w <- numeric() > w Podemos ver el resultado: numeric(0) A continuación, tecleamos: > data.entry(w) Se nos desplegará una ventana como la anterior, en la que la primera columna estará encabezada por el nombre del vector vacío que hemos creado. En dicha columna podremos introducir los valores que queramos. 11

Para introducir un número grande de datos podemos utilizar EXCEL, copiar los datos, volver a R, teclear x<-scan(), y en la entrada 1 pegar los datos. Pulsamos Enter y quedan introducidos. > x<-scan() 1: 2.4 2: 5.6 3: 3.5 4: 1.8 5: 4.5 6: 6.1 7: Read 6 items Hay que tener cuidado con la configuración del separador decimal de EX- CEL, que debe estar puesto en., y no en,, pues de lo contrario, R nos dará error. Si el separador está puesto en, puede cambiarse desde Herramientas/Opciones/Internacional, donde pondremos el separador decimal con punto y los millares con coma. En prácticas posteriores importaremos datos desde EXCEL, SPSS, archivos de texto,etc. También se puede utilizar el Bloc de notas de Windows 6. Dos generadores de datos especiales Si queremos generar un vector con los 100 primeros números naturales, basta con introducir esta orden: 12

> x <- 1:100 > x Al teclear x obtendremos: [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 [91] 91 92 93 94 95 96 97 98 99 100 Hay que fijarse en que cada fila está encabezada por el número que indica la posición del primer elemento de la fila. Hasta ahora hemos hecho la asignación de valores a la variable y la visualización de los mismos con dos instrucciones diferentes. Esto mismo se puede conseguir con una sola instrucción poniéndola entre paréntesis: > x <- -3:5 > x [1] -3-2 -1 0 1 2 3 4 5 También se pueden generar valores sin asignarlos a ninguna variable, con lo cual aparecen en pantalla pero no se pueden volver a llamar y, por lo tanto, a utilizar. Nota: El operador : tiene prelación sobre +, -, *, /. Por ejemplo: > 4 * 1:25 [1] 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 [20] 80 84 88 92 96 100 genera los números del 1 al 25 y los multiplica después por 4. Sin embargo > (4 * 1):25 [1] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 multiplica el 1 por 4 y después genera números desde el 4 al 25 Otro generador de vectores es la función seq(a,b,r). Con esta instrucción se genera una lista de números que empieza en a y termina en b, yendo de r en r. Por ejemplo: > seq(4, 10, 2) 13

genera una lista de números que empieza en 4 y termina en 10, yendo de dos en dos: > seq(4, 10, 2) [1] 4 6 8 10 Otra cosa es seq(a,b,lenght=r). Con esta instrucción se generan r números entre a y b a distancias iguales. Por ejemplo: > seq(4, 10, length = 8) [1] 4.000000 4.857143 5.714286 6.571429 7.428571 8.285714 9.142857 [8] 10.000000 7. Gráficos en R 7.1. Diagrama de barras Sea > x <- c(1, 1, 1, 2, 2, 2, 2, 3, 4, 4, 4) La función table tabula los datos en x table(x) produce: > table(x) x 1 2 3 4 3 4 1 3 Este resultado nos indica que el 1 aparece tres veces, el 2 cuatro veces, el 3 una vez y el 4 tres veces. La instrucción barplot(table(x)) muestra el diagrama de barras: > barplot(table(x)) 14

0 1 2 3 4 1 2 3 4 El diagrama se puede completar con títulos, subtítulos y etiquetas en los ejes. > barplot(table(x), main = "Título principal", sub = "Subtítulo", + xlab = "Texto en x", ylab = "Texto en y") Si tenemos los datos en un vector x y las frecuencias correspondientes en otro vector y, podemos también obtener el diagrama de barras procediendo de la siguiente forma: > x <- c(1, 2, 3, 4) > y <- c(3, 4, 1, 3) > barplot(y, names.arg = x) 15

0 1 2 3 4 1 2 3 4 7.2. Histograma Consideremos una variable con 100 valores generados de la siguiente forma: > set.seed(111) > x <- rnorm(100) rnorm(100) genera 100 cien valores y set.seed(111) hace que en todos los ordenadores los números generados sean los mismos. Probemos: > x [1] 0.23522071-0.33073587-0.31162382-2.30234566-0.17087604 0.14027823 [7] -1.49742666-1.01018842-0.94847560-0.49396222-0.17367413-0.40659878 [13] 1.84563626 0.39405411 0.79752850-1.56666536-0.08585101-0.35913948 [19] -1.19360897 0.36418674 0.36166245 0.34696437 0.18973653-0.15957681 [25] 0.32654924 0.59825420-1.84153430 2.71805560 0.19124439-1.30129607 [31] -3.11321730-0.94135740 1.40025878-1.62047003-2.26599596 1.16299359 [37] -0.11615504 0.33425601-0.62085811-1.30984491-1.17572604-1.12121553 [43] -1.36190448 0.48112458 0.74197163 0.02782463 0.33137971 0.64411413 16

[49] 2.48566156 1.95998171 0.19166338 1.55254427 0.91424229 0.35862537 [55] 0.17509564-0.84726777 0.97823166 1.80586826 0.12291480-0.12977203 [61] -0.21642866 1.44647817 0.40970980 0.91091657 1.43035817-0.38129196 [67] 0.20230718-0.80619919 0.29463418 1.40488308 1.02376685 0.47612606 [73] -0.67033033 0.15923432-0.38271538 0.93576259-0.63153227-0.09830608 [79] 1.03198498 0.38780843-1.25612931-0.78695273 0.42981155-0.37641622 [85] -1.21622907 1.02927851 0.43039700-1.24557402-0.60272849 0.66006939 [91] 2.05074953 0.49080818-1.73147942 0.71088366 0.01382291-1.40104160 [97] 1.25912367-0.12747752-0.72938651-1.21136136 El histograma se puede obtener con la instrucción hist(). Para obtener el número de intervalos se usa la fórmula de Sturges. > hist(x) Si queremos usar amplitudes de intervalos dados por la fórmula de Scott, siendo s la cuasidesviación típica, o bien la de Freedman-Diaconis, siendo IQ el rango intercuartílico, debemos utilizar el parámetro breaks. Por ejemplo: > hist(x, breaks = "Scott") > hist(x, breaks = "FD") Histogram of x Histogram of x Frequency 0 10 20 30 Frequency 0 5 10 15 20 25 4 3 2 1 0 1 2 3 x 3 2 1 0 1 2 3 x Podemos elegir nuestros propios intervalos. Por ejemplo: > hist(x, breaks = c(-4, -2, 0, 1.5, 3)) 17

Histogram of x Density 0.00 0.05 0.10 0.15 0.20 0.25 0.30 4 3 2 1 0 1 2 3 x Se pueden añadir títulos, subtítulos, etc. de la misma forma que con barplot(): > hist(x, breaks = c(-4, -2, 0, 1.5, 3), main = "Título Principal", + sub = "Subtítulo", xlab = "Etiqueta x", ylab = "Etiqueta y") 7.3. Diagramas de cajas y bigotes Con boxplot() generamos diagramas de cajas y bigotes > boxplot(x, main = "Principal", sub = "Subtítulo", ylab = "Etiqueta y") Podemos ver dos valores atípicos (outliers), uno por cada extremo. 7.4. Diagrama de tallos y hojas Con las instrucciones siguientes, vamos a generar 40 valores entre 0.1 y 10. > set.seed(111) > y <- ceiling(100 * runif(40))/10 18

> y [1] 6.0 7.3 3.8 5.2 3.8 4.2 0.2 5.4 4.4 1.0 5.6 6.0 0.7 0.5 1.6 4.5 1.8 9.7 3.2 [20] 6.2 4.4 2.9 3.5 3.9 9.7 3.3 6.6 2.9 7.9 6.0 0.6 5.1 4.7 4.7 3.6 7.2 1.2 7.9 [39] 6.5 8.1 Con la instrucción ceiling(100*runif(40))/10 primero, con runif() se generan 40 valores aleatorios entre 0 y 1. Al multiplicar por 100, los números se encontrarán entre 0 y 100 y con ceiling, obtendremos el entero mayor más próximo. Por último, al dividir por 10, los números quedan entre 0 y 10. El diagrama de tallos y hojas lo generamos con la instrucción stem(): > stem(y) The decimal point is at the 0 2567 1 0268 2 99 3 2356889 4 244577 5 1246 6 000256 7 2399 8 1 9 77 7.5. Diagrama de puntos Utilizaremos stripchart(y,method="stack",pch=1). pch nos indica el tipo de marca que aparecerá en el diagrama (círculo, triángulo, cuadrado, etc.). Si no especificamos nada, el cuadrado es el tipo de marca por defecto. El método "stack" concatena múltiples vectores en uno solo, con un factor que indica dónde está el inicio de cada observación. > stripchart(y, method = "stack", pch = 2) 19

0 2 4 6 8 10 7.6. Diagrama de sectores Es preciso disponer de dos vectores. Uno con los valores y el otro con los nombres. Por ejemplo: > z <- c(15, 25, 36, 40) > z.nombres <- c("ni~nos", "jóvenes", "maduros", "ancianos") Con la instrucción pie() generamos el diagrama de sectores. > pie(z, labels = z.nombres) 8. Soluciones Ordenación en orden decreciente > rev(sort(x)) 20

[1] 2.71805560 2.48566156 2.05074953 1.95998171 1.84563626 1.80586826 [7] 1.55254427 1.44647817 1.43035817 1.40488308 1.40025878 1.25912367 [13] 1.16299359 1.03198498 1.02927851 1.02376685 0.97823166 0.93576259 [19] 0.91424229 0.91091657 0.79752850 0.74197163 0.71088366 0.66006939 [25] 0.64411413 0.59825420 0.49080818 0.48112458 0.47612606 0.43039700 [31] 0.42981155 0.40970980 0.39405411 0.38780843 0.36418674 0.36166245 [37] 0.35862537 0.34696437 0.33425601 0.33137971 0.32654924 0.29463418 [43] 0.23522071 0.20230718 0.19166338 0.19124439 0.18973653 0.17509564 [49] 0.15923432 0.14027823 0.12291480 0.02782463 0.01382291-0.08585101 [55] -0.09830608-0.11615504-0.12747752-0.12977203-0.15957681-0.17087604 [61] -0.17367413-0.21642866-0.31162382-0.33073587-0.35913948-0.37641622 [67] -0.38129196-0.38271538-0.40659878-0.49396222-0.60272849-0.62085811 [73] -0.63153227-0.67033033-0.72938651-0.78695273-0.80619919-0.84726777 [79] -0.94135740-0.94847560-1.01018842-1.12121553-1.17572604-1.19360897 [85] -1.21136136-1.21622907-1.24557402-1.25612931-1.30129607-1.30984491 [91] -1.36190448-1.40104160-1.49742666-1.56666536-1.62047003-1.73147942 [97] -1.84153430-2.26599596-2.30234566-3.11321730 Función para calcular la media > media <- function(x) { + sum(x)/length(x) + } Función para calcular la varianza varianza<-function(x)sum((x-mean(x))^2)/length(x) 21