Está en la página 1de 23

R y RStudio

¿Qué es R?. R se refiere a dos cosas: El lenguaje y el software que se utiliza


para ejecutar programas escritos en R. El lenguaje R fue creado a principios de
los 90 por Ross Ihaka and Robert Gentleman (Universidad de Auckland). R se
basa en el lenguaje S desarrollado en los laboratorios Bell en los 70’s, por John
Chambers. El software R es un Proyecto GNU, es decir, es software libre. Tanto
R como el software son actualmente desarrolados por un grupo llamado “the R
Core Team”. R es un lenguaje interpretado (a veces llamado lenguaje de
scripting), lo que significa que su código no necesita ser compilado antes de
ejecutarlo. (Richard Cotton. Learning R)
Rstudio. RStudio es un entorno de desarrollo integrado (IDE) para R (lenguaje
de programación). Incluye una consola, editor de sintaxis que apoya la
ejecución de código, así como herramientas para el trazado, la depuración y la
gestión del espacio de trabajo. (Wikipedia)

1
INICIANDO R y RStudio
Windows 7 Windows 10
INICIAR R:
1) Clic en Inicio
2) Clic en Todos los programas
3) Clic en la carpeta R
4) Clic en R i386 3.4.1
INICIAR Rstudio:
5) Clic en Inicio
6) Clic en Todos los programas
7) Clic en la carpeta Rstudio
8) Clic en RStudio

2
CONCEPTO DE VARIABLEEN R

Es cualquier característica o atributo de una persona,


medio ambiente o situación experimental, que puede
variar de persona a persona, de un medio ambiente a
otro o de una situación experimental a otra. Una
característica o atributo se clasifica como variable si,
tal y como se observa, se encuentra que ésta toma
diferentes valores. Algunos ejemplos de variables son
presión atmosférica, Humedad Relativa, Capacidad de campo.

Si una característica no difiere dentro de la muestra,


ella no puede ser de interés estadístico.

3
Variables Cuantitativas

VARIABLES CUANTITATIVAS DISCRETAS: Son las que


resultan de un conteo o recuento. Pueden ser
variables cualitativas o cuantitativas cuyos valores son
siempre enteros, ejemplos: número de aspersores,
Total de uniones en un sistema de riego, Total de
bombas .
VARIABLES CUANTITATIVAS CONTINUAS: Son las que
provienen de una medición, por ejemplo, Longitud de
un ducto, temperatura de un ventilador, tiempo de
reacción bacteriana.
4
VARIABLES CUALITATIVAS
ESCALA NOMINAL

Se miden en esta escala, variables cuyos resultados son categorías conceptuales y


que deben cumplir las siguientes condiciones:
Las categorías deben ser exhaustivas: Esto significa que fuera de ellas no puede
caer ninguno otro resultado de la variable, o que cualquiera que sea el resultado,
debe caer en las categorías señaladas.
Deben ser excluyentes: Un resultado no puede caer en dos categorías.
Un ejemplo de escala nominal puede ser la variable “Causa de muerte”. La
mediremos en escala nominal estableciendo los siguientes valores o categorías:
Muerte natural, Homicidio, Accidentes, Suicidios.
Obsérvese que cuando una persona fallece, entonces:
La causa de su muerte debe estar en alguna de las cuatro categorías
La causa de su muerte no puede estar en más de una categoría.

5
VARIABLES CUALITATIVASESCALA ORDINAL

En esta escala se establecen en categorías en las que, además de


cumplir las condiciones de la nominal, se puede identificar un
orden (mayor que, igual a, menor que). Sin embargo, no se pueden
establecer diferencias numéricas entre dos valores de una variable
en esta escala.
Ejemplos: Al clasificar individuos según su estrato socioeconómico
obtenemos las categorías Alto, Medio, y Bajo, pero no se puede
establecer cuanto mayor es la categoría Alto que la media.
El nivel nutricional de los niños se puede clasificar en: Normal,
Desnutrición leve, Desnutrición moderada y Desnutrición Severa.

6
ESCALA DE INTERVALO
Corresponde a variables numéricas. Las categorías se ordenan en
unidades igualmente espaciadas, se cumplen las siguientes
condiciones:
Existe un cero pero es arbitrario
Es posible medir las diferencias relativas entre cada punto de la escala.
Ejemplos: El termómetro centígrado es un ejemplo de escala intervalar,
la diferencia entre 30 y 31 ºC es la misma que entre 82 y 83.
La variable “Calificación de un examen”, los valores son numéricos, el
cero es arbitrario.

7
ESCALA DE RAZON

Esta es una escala de carácter numérico, se pueden establecer


comparaciones por cociente entre dos valores de la variable,
proceso que no se puede hacer con la escala de intervalo.
Además el cero de esta escala es absoluto;
Ejemplos: La variable “Número de personas por familia”, variable
“Edad” de un grupo de personas.
La edad es un ejemplo de escala de razón, existe un punto cero
absoluto, el nacimiento y la magnitud de las diferencias entre
edades es la misma. De esta manera, David, que tiene 18 años de
edad, duplica la edad de su hermano que tiene 9.

8
Welcome to r-statistics.co
http://r-statistics.co/
An educational resource for those seeking knowledge related to
machine learning and statistical computing in R. Here, you will
find quality articles, with working R code and examples, where,
the goal is to make the rstats (http://bit.ly/2kyJ31C) concepts clear
and as simple as possible.

This is built by keeping in mind, statisticians who are new to R


programming language, R programmers without a stats
background, analysts who work in SAS or python, college grads
and developers who are relatively new to both R and stats/ML. If
you are completely new to R, this R tutorial (
http://r-statistics.co/R-Tutorial.html) is a good place it start.

9
MUESTREO EN R
FUNCION sample()
 La función sample() toma una Examples:
muestra de un específico tamaño
a partir de los elementos de una x <- 1:12
población, sea con o sin
# a random permutation
reemplazamiento.
sample(x)
 La sintaxis de la función sample()
es la siguiente: # bootstrap resampling –
 sample(x, size, replace = FALSE) # only if length(x) > 1
sample(x, replace = TRUE)
 Donde x es la población de donde
se va a extraer la muestra.
 size, es el tamaño de la muestra, # 100 Bernoulli trials
es decir, el número de elementos sample(c(0,1), 100, replace = TRUE)
a extraer de la población.
 replace, tendrá valor: TRUE, si el # sample()'s surprise -- example
muestreo es con reemplazo, sino x <- 1:10
tendrá valor FALSE. sample(x[x > 8]) # length 2
sample(x[x > 9]) # oops -- length 10!
sample(x[x > 10]) # length 0

En R, el símbolo # 10
Indica un comentario
MUESTREO EN R
FUNCION sample(): Ejercicio

Calcule y extraiga una muestra SOLUCION:


aleatoria del conjunto de datos
co2. Pida ayuda a R sobre este N = length(co2) # Población
conjunto de datos utilizando: Z = 1.96 # Coeficiente de confianza
help(co2), o simplemente ?co2. P = 0.5 # Proporción
Q = 1-P # 1-Proporción
El conjunto de datos co2, es una E = 0.01 # Error admisible
serie de tiempo de 468 n = (Z^2*P*Q)/(E^2+(Z^2*P*Q/N))
observaciones mensuales tomadas n = floor(n) # Tamaño de la muestra
desde 1959 hasta 1997, de
concentraciones de CO2 en ppm.
muestra = sample(N, n, replace = T)
muestra
muestra = co2[muestra]

# Verifico los datos calculados


N
n
muestra
11
MUESTREO ESTRATIFICADO EN R
FUNCION sample(): Ejercicio y Planteamiento
Se desea seleccionar una muestra, a partir de una población de 280
canteras para la extracción de agregados petreos, ubicadas en cinco
áreas (estratos) diferentes consistentes en terrenos con
formaciones geológicas diferentes, distribuidas de la siguiente
manera: N = 280
1) Estrato 1 tiene 28 canteras con la formación geológica 1
2) Estrato 2 tiene 21 canteras con la formación geológica 2
3) Estrato 3 tiene 146 canteras con la formación geológica 3
4) Estrato 4 tiene 40 canteras con la formación geológica 4
5) Estrato 5 tiene 45 canteras con la formación geológica 5

Estratos SubPoblaciones Porcentajes


1 28 28/280 = 0.1
2 21 21/280 = 0.08
3 146 146/280 = 0.52
4 40 40/280 = 0.14
5 45 45/280 = 0.16
SUMAS 280 1
12
MUESTREO ESTRATIFICADO EN R: SOLUCION
1) Calcular el tamaño muestral:
N = 280 # Población
Z = 1.96 # Coeficiente de confianza
P = 0.5 # Proporción
Q = 1-P # 1-Proporción
E = 0.01 # Error admisible
n = (Z^2*P*Q)/(E^2+(Z^2*P*Q/N))
n = floor(n) # Tamaño de la muestra
n = 272
2) La muestra de 272 hay que distribuirla de acuerdo a los mismos
porcentajes de los estratos. Por lo tanto,

Estratos Porcentajes SubMuestras


1 0.1 272*0.1 = 27.2
2 0.08 272*0.08 = 21.76
3 0.52 272*0.52 = 141.44
4 0.14 272*0.14 = 38.08
5 0.16 272*0.16 = 4.52
SUMAS 1 272

3. Para seleccionar a los individuos que se incluirán en cada SubMuestra, se puede utilizar
cualquiera de los dos métodos de selección, el coordinado negativo o el de Fann-Muller. 13
LAS HOJAS DE TRUCOS O CHEAT SHEET DE R
LAS HOJAS DE TRUCOS O CHEAT SHEET DE R
FIN DE LA SESION
NON SCHOLAE, SET VITAE DISCIMUS

Haga clic para finalizar

¡Ay de ti, tierra, cuando tu rey es


muchacho, y tus príncipes banquetean de
16
mañana!
INSTALACIÓN DE R  Instalación de R. Página principal de
Y RSTUDIO R: https://www.r-project.org/

 Se puede descargar R directamente en la


siguiente página:
 http://cran.es.r-project.org/bin/windows/base/

 Instalacion de Rstudio. Página principal de Rstudio:

 https://www.rstudio.com/

 Se puede descargar RStudio directamente en la


siguiente página:
 https://www.rstudio.com/products/rstudio/download/

 En la sección FREE, se hace clic en


DOWNLOAD.

REGRESAR 17
DIAPOSITIVA EXPLICATIVA 1

 There is no need to declare or explicitly


VARIABLES EN R create variables in R. Just assign a value
to the name and R will create the variable.
Las variables en R son utilizadas para almacenar
 When you define a variable at the
datos de todo tipo durante una sesión de R.
command prompt like this, the variable is
En R no hay necesidad de declarar las variables antes
de usarlas. Si se desea guardar un valor en una
held in your workspace.
variable, simplemente utilice el nombre de la  The workspace is held in the computer’s
variable y el operador de asignación: <-, o el signo
main memory but can be saved to disk
igual: =. Ejemplos:
when you exit from R. The variable
X <- 3
definition remains in the workspace until
x <- 15
you remove it.
R es sensible a mayúsculas y minúsculas. X es
diferente de x. Observe que pasa con las dos
 R is a dynamically typed language, which
instrucciones siguientes: means that we can change a variable’s
x <- 35 data type at will. We could set x to be
x
numeric, as just shown, and then turn
around and immediately overwrite that
x <- 1:30
with (say) a vector of character strings.
x

REGRESAR 18
DIAPOSITIVA EXPLICATIVA 2

 Classes. All variables in R have a class,


VARIABLES CUANTITATIVAS which tells you what kinds of variables they
are. For example, most numbers have class
R contiene tres clases de variables numéricas: numeric, and logical values have class
logical. Actually, being picky about it,
numeric. Para valores de punto flotante. vectors of numbers are numeric and vectors
integer. Para valores enteros of logical values are logical, since R has
no scalar types. The “smallest” data type in R
complex. Para números complejos.
is a vector.
Escriba las siguientes órdenes y comente:
 You can find out what the class of a variable
peso <- 60 is using class(my_variable)
peso  It’s worth being aware that as well as a class,
altura <- 120 all variables also have an internal storage type
(accessed via typeof), a mode (see mode),
imc = peso/altura^2
and a storage mode (storage.mode). If
class(peso) this sounds complicated, don’t worry! Types,
modes, and storage modes mostly exist for
class(altura)
legacy purposes, so in practice you should
class(imc) only ever need to use an object’s class
19
REGRESAR
DIAPOSITIVA EXPLICATIVA 3

 In addition to the three numeric classes and the logical


VARIABLES CUALITATIVAS class that we’ve seen already, there are three more
ESCALA NOMINAL classes of vectors: character for storing text,
factors for storing categorical data, and the rarer raw
En R podemos usar una función especial conocida como for storing binary data.
el operador C. Es una función genérica la cual combina  In this next example, we create a character vector using
sus argumentos, es decir, combina sus argumentos en un the c operator. The class of a character vector is
vector o lista. Lance las siguientes órdenes y observe: character:
TipoSuelo <- c(“franco”, “arcilloso”,”arenoso”)  class(c(“acero", “cobre", “aluminio"))
class(TipoSuelo)  Note that unlike some languages, R doesn’t distinguish
genero <- factor(“M”,”M”,F”,”M”,”F”,”F”) between whole strings and individual characters, a string
containing one character is treated the same as any other
levels(genero) string. Unlike with some other lower-level languages,
nlevel(genero) you don’t need to worry about terminating your strings
with a null character (\0). In fact, it is an error to try to
Pida ayuda a R sobre las funciones: factor, levels, include such a character in your string (Learning R)
nlevels, y as.integer, y anote la explicación:
 It is possible to create an integer array and turn it into a
help(factor) factor (R in a Nutshell):
help(levels)  v <- as.integer(c(1, 1, 1, 2, 1, 2, 2, 3, 1))
help(nlevels)  levels(v) <- c("what", "who", "why")
help(as.integer)  class(v) <- "factor"

20
REGRESAR
DIAPOSITIVA EXPLICATIVA 4

 Vectors. The vector type is really the heart of


VARIABLES CUALITATIVAS
R. It’s hard to imagine R code, or even an
ESCALA ORDINAL
interactive R session, that doesn’t involve
R no distingue las variables nominales de las vectors. The elements of a vector must all
ordinales, eso es responsabilidad del have the same mode, or data type. You can
investigador que define las escalas de las have a vector consisting of three character
variables. Por ejemplo, digamos que se desea strings (of mode character) or three integer
definir una variable con escala ordinal, para elements (of mode integer), but not a vector
evaluar el nivel de corrosión en el acero, otra with one integer element and two character
variable para medir el nivel del caudal medido y string elements. (The Art of R Programming)
el nivel de pobreza, podría ser:
 Scalars. Scalars, or individual numbers, do
corrosion <- c(“bajo”, “medio”,”alto”) not really exist in R.
Nivel.Caudal <- c(“critico”,”ok”,”optimo”)  Character Strings. Character strings are
pobreza <- c(“NO POBRE”,”POBRE”,”MUY actually single-element vectors of mode
POBRE”, “EXTREMA POBRESA”) character, (rather than mode numeric):
Pida ayuda a R sobre la función length() y anote:  y <- "abc“
help(length)  length(y)
 mode(y)
21
REGRESAR
DIAPOSITIVA EXPLICATIVA 5

VARIABLES NUMERICAS Interval scale


ESCALA INTERVALO  In contrast to nominal and ordinal scale variables,
interval scale and ratio scale variables are variables
Ejemplo: Se tomaron 5 lecturas de
for which the numerical value is genuinely
temperaturas ambientes en grados centígrados
(Cero arbitrario): 28, 30.5, 31.2, 29,33.5; meaningful.
Defina una variable centígrados con los valores  In the case of interval scale variables, the
anteriores y obtenga un vector de grados differences between the numbers are interpretable,
Rankine = 9/5(C+273.15). Defina y obtenga but the variable doesn’t have a “natural” zero
variables para el promedio, máximo y mínimo value.
de cada vector:
 A good example of an interval scale variable is
measuring temperature in degrees celsius. For
centigrados = c(28, 30.5, 31.2, 29,33.5)
rankine = 9/5*(centigrados+273.15) instance, if it was 15o yesterday and 18o today, then
promedio.c=mean(centígrados) the 3o difference between the two is genuinely
maximo.c=max(centígrados) meaningful. Moreover, that 3o difference is exactly
minimo.c=min(centígrados) the same as the 3o difference between 7o and 10o. In
promedio.r=mean(rankine) short, addition and subtraction are meaningful for
maximo.r=max(rankine) interval scale variables. However, notice that the 0 o
minimo.r=min(rankine) does not mean “no temperature at all”: it actually
means “the temperature at which water freezes”,
Pida ayuda de las funciones utilizadas: which is pretty arbitrary.
help(max); help(min)
22
REGRESAR
DIAPOSITIVA EXPLICATIVA 6

Ratio scale
VARIABLES NUMERICAS
ESCALA DE RAZON The fourth and final type of variable to consider is
a ratio scale variable, in which zero really means
Ejemplo: (http://slideplayer.es/slide/8881867/) zero, and it’s okay to multiply and divide. A good
Se tomaron mediciones para calcular la Potencia y psychological example of a ratio scale variable is
energía obtenidas en una central hidroeléctrica. La response time (RT). In a lot of tasks it’s very
potencia teórica P (Kw), de una central hidroeléctrica
common to record the amount of time somebody
depende principalmente de dos parámetros: La altura
en metros del salto del agua, h, y El caudal, m3/s, que
takes to solve a problem or answer a question,
incide sobre las turbinas, Q. (P=9.8 · Q · h). Se because it’s an indicator of how difficult the task is.
midieron los siguientes caudales: 1.5,2.3,1.9,4.5, y las Suppose that Alan takes 2.3 seconds to respond to a
siguientes alturas: 10.5,15.4,20.5,35.25. Calcule el question, whereas Ben takes 3.1 seconds. As with
vector de P y calcule el promedio de la potencia.
an interval scale variable, addition and subtraction
Q=c(1.5,2.3,1.9,4.5) are both meaningful here. Ben really did take 3.1 ´
h=c(10.5,15.4,20.5,35.25) 2.3 “ 0.8 seconds longer than Alan did. However,
p=9.8*Q*h notice that multiplication and division also make
sense here too: Ben took 3.1{2.3 “ 1.35 times as
promedio.p=sum(p)/length(p)
long as Alan did to answer the question. And the
promedio.p
reason why you can do this is that, for a ratio scale
Pida ayuda sobre la función sum() y anote: variable such as RT, “zero seconds” really does
help(sum) mean “no time at all”.
23
REGRESAR

También podría gustarte