Está en la página 1de 5

#-----Variables num�ricas------

z=1:10
z
w=seq(1,20,by=2)
w
p=seq(1,20,length=8)
p

#Operaciones b�sicas
x=seq(2,20,by=2)
x
y=seq(1,20,by=2)
y
x+y
x*y
x/y
x^2
log(x)
3*x
1/exp(x)

sqrt(-2)
sqrt(as.complex(-2))
#-----Variables alfanum�ricas------
letras=c("a","b","c","d")
class(letras)
letras
paste("A","B",sep="-")
codigos = paste(c("A", "B"), 2:3, sep = "")
codigos
codigos = paste(c("A", "B"), 2:3, sep = ".")
codigos
paste(c("una", "frase", "simple"), collapse = " ")
paste(c("una", "frase", "simple"), sep = " ")

#-----Factores------
sexo = c("M", "H", "M", "M", "M", "H", "M", "M", "H", "H")
sexo
class(sexo)
sexo =factor(sexo)
sexo
class(sexo)
sexo = factor(sexo,levels=c("H","M"),labels=c("Hombre","Mujer"))
sexo

Nivel = c("alto","bajo","bajo","medio","alto","medio","bajo","alto","alto","alto")
fNivel=factor(Nivel)
table(fNivel)#Crea una tabla de frecuencia
fNivel=factor(Nivel, levels=c("bajo","medio","alto"))
table(fNivel)
table(Nivel)
#-----Variables l�gicas------
a=2
b=4
a==b # �es a igual a b?
a!=b # �es a distinto de b?
(a<3)&(b<5) # �es a menor que 3 y b menor que 3?
(a<1)|(b<3) # �es a menor que 1 o b menor que 3?
TRUE+TRUE
TRUE+FALSE
(a==1)+(b==3)
(a==2)+(b==4)

any(c(a==2, a==3, a==4))#determina si alguno de los elementos de x son TRUE


any(c(a==3, a==4, a==5, a==6))
all(c(a==2, b==4, 2<3)) #determina si todos los elementos de x son TRUE
all(c(a==2, b==8, 2<3))

x=1:10
a=2
a %in% x # %in% permite determinar si uno o varios valores est�n contenidos
#en un vector
b=c(6,8,14,2,15)
b %in% x

#-----DataFrames------
#Creaci�n de un dataframe
edad = c(22, 34, 29, 25, 30, 33, 31, 27, 25, 25)
tiempo = c(14.21, 10.36, 11.89, 13.81, 12.03, 10.99, 12.48, 13.37, 12.29, 11.92)
sexo = c("M","H","H","M","M","H","M","M","H","H")
misDatos = data.frame(edad,tiempo,sexo)
misDatos

str(misDatos) # Estructura de 'misDatos'


names(misDatos) # Nombre de las variables contenidas en 'misDatos'

misDatos[3:6,]
misDatos[,1]
misDatos$edad
misDatos[,"edad"]
misDatos[["edad"]]

edad[sexo=="M"] #Seleccionamos valores condicionando a otro vector


tiempo=c(14.21, 10.36, 11.89, 13.81, 12.03, 10.99, 12.48, 13.37, 12.29, 11.92)
sexo[tiempo>13]

edad[3]
edad[5]
edad[2:5]
edad[c(1,3,7)]
which(edad>25) # Indica las posiciones que cumplen la condici�n
mayores25=which(edad>25)
edad[mayores25]
edad>25
edad[edad>25]

#Los comandos attach y detach

table(misDatos$sexo)
table(misDatos$edad)
table(misDatos$sexo,misDatos$edad)
mean(misDatos$edad[misDatos$sexo=="M"])
mean(misDatos$edad[misDatos$sexo=="H"])

attach(misDatos)
table(sexo)
table(edad)
table(sexo,edad)
mean(edad)
mean(edad[sexo=="M"])
mean(edad[sexo=="H"])
detach(misDatos)

# Subconjuntos de un dataframe

hombres=subset(misDatos,sexo=="H")
hombres
mujeres=subset(misDatos,sexo=="M")
mujeres
mayores=subset(misDatos,sexo=="H" & edad>30)
mayores
jov_habladores=subset(misDatos,sexo=="H" & edad<30 & tiempo>12)
jov_habladores
extremos=subset(misDatos,edad<25|edad>30)
extremos
hombres=subset(misDatos,sexo=="H", select=c(edad, tiempo))
hombres

# Combinaci�n de dataframes: rbind y merge


animales1 =
data.frame(animal=c("vaca","perro","rana","lagarto","mosca","jilguero"),clase=c("ma
m�fero","mam�fero","anfibio","reptil","insecto","ave"))
animales1
animales2 = data.frame(animal=c("at�n", "cocodrilo", "gato","rana"), clase=c("pez",
"reptil", "mam�fero","anfibio"))
animales2
animales3 = rbind(animales1,animales2)
animales3
animales4=merge(animales1,animales2) #solo los comunes
animales4
animales5=merge(animales1,animales2,all=TRUE) #todos los datos sin repetir
animales5

#Ordenaci�n de dataframes
#Para ordenar un dataframe se aplica la funci�n order() al elemento o elementos
#por el que queramos ordenar, y se utiliza el resultado de esta funci�n como �ndice
del dataframe.

ordenacion=order(animales1$animal)
ordenacion # Posiciones dentro del dataframe 'animales1' de los animales ordenados
alfab�ticamente
animales1=animales1[ordenacion,] # Se reordenan las filas del dataframe animales1
animales1
#animales1=animales1[order(animales1$animal),] #lo mismo en una sola linea
misDatos=misDatos[order(misDatos$edad),]
misDatos

##------Acceso a los componentes y busquedas--------

###### Matrices en R

#Operaciones
M = matrix(c(1,2,5,7),2)
M
M+2
M-2
M*2
M/2

M
v=c(3,4)
M+v
M-v
M*v
M/v

M
M+M
M-M
M*M
M%*%M
M/M
M^2

#-----Objetos en R------
#R utiliza programaci�n orientada a objetos.
#Esto significa que una misma funci�n hace cosas distintas
#seg�n la clase del objeto que recibe como argumento.

#Veamos como la funci�n plot() puede mostrar distintos gr�ficos


#seg�n la clase del objeto a representar.

#El siguiente vector representa el n�mero de personas atendidas


#mensualmente en el servicio de urgencias de un centro de salud
#durante un a�o (datos de enero a diciembre):

atendidos= c(728,632,596,689,745,865,694,583,657,643,794,887)
atendidos
class(atendidos)# Determinamos la clase de objeto
plot(atendidos) #Representaci�n gr�fica

#Convertimos estos datos en serie temporal mediante la funci�n ts()


#indicando que esta serie comienza en enero del a�o 2017
#y que tiene una frecuencia de 12 observaciones por a�o (esto es, una #por mes)
atendidos2 = ts(atendidos,frequency=12,start=c(2017,1))
atendidos2
class(atendidos2)
plot(atendidos2)

También podría gustarte