Está en la página 1de 7

Directorio de trabajo getwd()

"C:/Users/GERARDO/Documents"

Cambiar directorio de tranbajo setwd("C:/R")


Leer un archive csv data <- read.csv("input.csv")
Mostrar datos del archive head (data)
Ver archivos list.files()
Ver Directorio list.dirs()
Ejecutar scrip source("C:/Mis
scripts/mi_script.R")

EJERCICIO 1

OBTENER Y HABILITAR EL DIRECTORIO DE TRABAJO

# Get and print current working directory.


print(getwd())

# Set current working directory.


setwd("/web/com")

# Get and print current working directory.


print(getwd())

CARGAR DATOS

En el directorio de trabajo que usted habilitó cree el archivo input.csv con el programa y pegue los
siguientes datos.

id,name,salary,start_date,dept
1,Rick,623.3,2012-01-01,IT
2,Dan,515.2,2013-09-23,Operations
3,Michelle,611,2014-11-15,IT
4,Ryan,729,2014-05-11,HR
5,Gary,843.25,2015-03-27,Finance
6,Nina,578,2013-05-21,IT
7,Simon,632.8,2013-07-30,Operations
8,Guru,722.5,2014-06-17,Finance
data <- read.csv("input.csv")
print(data)

FUNCIÓN SAMPLE() DE R PARA GENERAR


NÚMEROS ENTEROS DE MODO ALEATORIO

1. sample(1:30,10,replace=F)
2. [1] 5 3 19 10 28 4 11 23 16 22
Desgranemos los atributos del comando sample:
 1:30 = significa que el intervalo de datos va a estar comprendido entre ambos
números (1 y 30 inclusive).
 10 = significa el número de números aleatorios que quieres salgan del intervalo
anterior.
 replace=F/T = si quieres que puedan repetirse los números aleatorios (es decir,
obtener por ejemplo dos números 3), dejamos el valor T (true). Si no queremos
repetición, ponemos el valor F (false).

Asignación de números aleatorios.

sample(18:22,10,replace=T)

[1] 19 19 20 19 22 21 21 19 21 21

FUNCIÓN RUNIF() DE R PARA GENERAR


NÚMEROS RACIONALES ALEATORIAMENTE
Como hemos visto, la función anterior sample no permite obtener números decimales.
¿Qué pasa si queremos obtener también números con decimales? Pues como ya
sabéis, esto se puede conseguir con la función runif de R. Esta función está incluida
dentro del paquete de R llamado stats. Vamos a verlo igualmente en acción con un
ejemplo para estudiarlo en profundidad después:
1. runif(5, min=3, max=4)
2. [1] 3.537344 3.629892 3.362016 3.860888 3.930647
Igual que con la función sample, la función runif se compone de tres atributos:
 5 = es el número de números decimales que queremos generar aleatoriamente.
En este caso queremos que nos devuelva 5 números aleatoriamente
seleccionados.
 min=3 y max=4 representan el intervalo de donde se van a extraer los números
aleatorios en R. En nuestro ejemplo, nuestros números aleatorios estarán
comprendidos entre el 3 y el 4. Es importante mencionar que no es obligatorio
poner min= y max= en nuestra función. Si los omitiéramos como se ve a
continuación seguirían extrayéndose los números aleatorios del intervalo
marcado.
1. runif(5, 3, 4)
Lo importante es mantener el orden de los atributos, siendo el primer valor el número
de n

EJERCICIO 2

> sexo <- round(sexo+1,0)


Error: object 'sexo' not found
> sexo <- runif(100)
> sexo <- round(sexo+1,0,2)
Error: 3 arguments passed to 'round'which requires 1 or 2 arguments
> sexo <- round(sexo+1,0)
> sexo
[1] 1 1 2 1 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 2
[38] 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 2 1 1 2
[75] 1 1 1 1 1 2 1 1 1 2 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1
> sexo_f <- factor(sexo)
> sexo_f
[1] 1 1 2 1 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 2
[38] 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 2 1 1 2
[75] 1 1 1 1 1 2 1 1 1 2 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1
Levels: 1 2
> levels (sexo_f) <- c("mujer","hombre")
> levels
function (x)
UseMethod("levels")
<bytecode: 0x000000000470e718>
<environment: namespace:base>
> sexo_f
[1] mujer mujer hombre mujer hombre mujer hombre hombre mujer mujer
[11] hombre mujer hombre hombre mujer hombre mujer hombre mujer mujer
[21] hombre hombre mujer hombre hombre mujer hombre hombre hombre mujer
[31] hombre hombre mujer mujer hombre hombre hombre hombre hombre hombre
[41] hombre hombre hombre hombre hombre mujer hombre hombre hombre mujer
[51] hombre mujer mujer hombre hombre hombre hombre mujer hombre hombre
[61] mujer mujer hombre hombre hombre hombre mujer hombre mujer mujer
[71] hombre mujer mujer hombre mujer mujer mujer mujer mujer hombre
[81] mujer mujer mujer hombre mujer hombre hombre mujer hombre mujer
[91] hombre mujer hombre mujer mujer mujer hombre hombre hombre mujer
Levels: mujer hombre
> tabla1 <- table(sexo_f)
> tabla1
sexo_f
mujer hombre
44 56
> tabla2 <- prop.table(table(sexo_f))
> tabla2
sexo_f
mujer hombre
0.44 0.56
> tabla2 <- tabla2 * 100
> tabla2
sexo_f
mujer hombre
44 56
> tabla1
sexo_f
mujer hombre
44 56
> tabla2
sexo_f
mujer hombre
44 56
> class(tabla1)
[1] "table"
> marco2<- data.frame(tabla1)
> marco1<- data.frame(tabla1)
> marco2<- data.frame(tabla2)
> marco1
sexo_f Freq
1 mujer 44
2 hombre 56
> marco2
sexo_f Freq
1 mujer 44
2 hombre 56
> names(marco1) <- c("sexo","Frecuencia Absoluta")
> marco1
sexo Frecuencia Absoluta
1 mujer 44
2 hombre 56
> names(marco2) <- c("sexo","Frecuencia Relativa")
> marco2
sexo Frecuencia Relativa
1 mujer 44
2 hombre 56
> tf <- merge (marco1,marco2,by="sexo")
> tf
sexo Frecuencia Absoluta Frecuencia Relativa
1 hombre 56 56
2 mujer 44 44
> write.table(tf,file="c:"/R/tablafrecuencias.csv",sep=",",row.names=F)
Error: unexpected string constant in "write.table(tf,file="c:"/R/tablafrecuencias.csv",sep=""
> write.table(tf,file="c:/R/tablafrecuencias.csv",sep=",",row.names=F)
>

++
EJERCICIO 3

El profesor de estadística solicita la edad a 17 estudiantes

19, 21, 19, 18, 21, 20, 19, 21, 21, 17 , 19, 18, 20,19, 17,20,21

Construir la tabla de distribución de frecuencias y responder lo siguiente:

a) Qué porcentaje de estudiantes son menores de edad?


b) Qué porcentaje de los estudiantes tienen edades entre 18 y 20 años inclusive
c) Cuántos estudiantes tienen menos de 20 años.

También podría gustarte