Vectores Numericos
#DEFINIR VECTORES
v<-c(2,1,3,4)#definir un vector numerico con "c(-,-,...)"
v#ver el vector en la consola
## [1] 2 1 3 4
f <- letters[1:20] # vector de caracteres
(w<-c(0,2,-2,1))#definir un factor que se vea en la consola, colocando todo entre parentesis
## [1] 0 2 -2 1
w[3]# ver el dato 3 del vector
## [1] -2
#CAMBIAR O AGREGAR ELEMENTOS
w[4]<-7# cambiar el elemento de un vector, el vector w se le cambio el elemento 4(con valor de 1) por 7
w[6]<--4#Agregar en el elemneto 6 pr un valor de -4(NA indica que no hay dato)
length(w)#Ver el numero de elementos del vector (w)
## [1] 6
length(w)<-4#Verlos primeros elementos del vector
w#ver los elementos
## [1] 0 2 -2 7
w[-3] #Ver los elementos del vector menos el elemento 3
## [1] 0 2 7
#OPERACIONES BASICAS
v*w#Multiplicacion de dos vectores con numero igual de elementos
## [1] 0 2 -6 28
v/w#Divicion de dos vectores con numero igual de elementos
## [1] Inf 0.5000000 -1.5000000 0.5714286
v^3# Multiplicacion de exponencial de los elemento de un vector
## [1] 8 1 27 64
sqrt(w) #Raiz cuadrada de los elementos de un vector
## Warning in sqrt(w): Se han producido NaNs
## [1] 0.000000 1.414214 NaN 2.645751
log(w) #Logaritmo de los elementos de un vector
## Warning in log(w): Se han producido NaNs
## [1] -Inf 0.6931472 NaN 1.9459101
(vw<-c(v,w)) #Union dos vectores
## [1] 2 1 3 4 0 2 -2 7
(vwa<-c(vw,6)) #Agregar un elemento a un vector
## [1] 2 1 3 4 0 2 -2 7 6
#FUNCIONES ESTADISTOCAS
sum(v) #Suma de los elementos del vector
## [1] 10
prod(v) #Multiplicacion de los elementos del vector
## [1] 24
prod(c(sum(v),sum(w)))#Multiplicacion de la suma de dos vectores
## [1] 70
mean(v)#Promedio de los elementos deun vector
## [1] 2.5
#REPETIR ELEMENTOS DE UN VECTOR
seq(1,30,2) #Generar un vector de 1 a 30 de dos en dos, lacula puede escribirse como:
## [1] 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
a <- seq( from=1, to=30, by=2 ) # una secuencia (o vector)
rep(c(1,-2,0),5)#Repetir un Vector 5 veces en el mismo orden
## [1] 1 -2 0 1 -2 0 1 -2 0 1 -2 0 1 -2 0
rep(c(1,-2,0),each=5) #Repetir cada elementos 5 veces en el mismo orden
## [1] 1 1 1 1 1 -2 -2 -2 -2 -2 0 0 0 0 0
rep(c(1,-2,0),1:3) #Repetir cada elemento de un vector 1,2,3...veces
## [1] 1 -2 -2 0 0 0
-3:5 #Generar un Vector de -3 a 5
## [1] -3 -2 -1 0 1 2 3 4 5
(x<-numeric())#Generar un vector numerico sin especificar sus elementos
## numeric(0)
(x[1:3]<-c(1,2,4))# agragar un vector de tres elementos (1 al 3) a un vector sin elementos
## [1] 1 2 4
(y<-numeric(4))#generar un vectos con 4 elementos en blanco
## [1] 0 0 0 0
y[x]<3
## [1] TRUE TRUE TRUE
y
## [1] 0 0 0 0
#OPERADORES LOGICOS (TRUE-FALCE, 1-0)
vwa<=0 #ver la existencia de elementos con valores iguales a 0 (True y Falce)
## [1] FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE
as.numeric(vwa<=0) #ver la existencia de elementos con valores igual a 0 mediante operadores logicos (1 y 0)
## [1] 0 0 0 0 1 0 1 0 0
vwa[vwa>1] #ver valores de los elementos mayores a 1 de manera ordenada
## [1] 2 3 4 2 7 6
sum(vwa>1) #sumatoria de los elementos de con valores mayor a 1
## [1] 6
Vectores de Tipo Cadena(string)
z<-c("Barcelona","Lleida","Barcelona", "Girona") #Crear un vector con elementos de tipo caracter
z
## [1] "Barcelona" "Lleida" "Barcelona" "Girona"
c(z,9) #Agregar un elemento numerico al vector
## [1] "Barcelona" "Lleida" "Barcelona" "Girona" "9"
(zf<-factor(z)) #Guardar un vector como factor, cada caracter es codificada por r con un valor numerico
## [1] Barcelona Lleida Barcelona Girona
## Levels: Barcelona Girona Lleida
is.character(z) #Ver vector si contienes elementos de tipo caracter
## [1] TRUE
is.character(zf) #Ver vector si contienes elementos de tipo caracter (no contiene ya que fue codifcada por guardarse conmo factor)
## [1] FALSE
as.numeric(z) #Ver vector si contienes elementos numericos(no contienes ya que sus elementos son de caracter)
## Warning: NAs introducidos por coerción
## [1] NA NA NA NA
as.numeric(zf) #Ver vector si contienes elementos numericos(este vector es numerico ya que se guardo como factor y las caracteres fueron codificadas con valores numericos)
## [1] 1 3 1 2
levels(zf) #muestra los caracteres de vector codificada zf
## [1] "Barcelona" "Girona" "Lleida"
#Conatenar elementos de diferentes tipos
nombres<-paste("var",1:5,sep="-")# Generar un vector que convine carateres y numeros separadas po un guion de 1 al 5
nombres
## [1] "var-1" "var-2" "var-3" "var-4" "var-5"
length(nombres) #ver la longitud del vector
## [1] 5
paste("now it´s", date()) #GEnerar la fecha en que se esta trabajando
## [1] "now it´s Sat May 14 14:03:15 2016"
paste("Raiz de",w,"es", round(sqrt(w),3)) #Mostra raiz de un vector con redaccion por elemento del vector
## Warning in sqrt(w): Se han producido NaNs
## [1] "Raiz de 0 es 0" "Raiz de 2 es 1.414" "Raiz de -2 es NaN"
## [4] "Raiz de 7 es 2.646"