Académique Documents
Professionnel Documents
Culture Documents
La posicin cinco, lo
ocupa el nmero 4.
Vectores
Un vector es una concatenacin de datos
Todos los datos deben de ser del mismo tipo.
Si los datos son de distintos tipos, R realiza una
transformacin automtica.
Cada dato recibe un ndice segn el orden en
el que se concaten (comenzando por 1)
Podemos acceder a cada dato por su ndice.
Para crear un vector usamos la funcin c()
Qu significan los corchetes?
Vectores
El uso de la funcin c() para crear vectores
# Creacin de un vector sin asignarlo a una
variable
c(4,2,-8)
[1] 4 2 -8
X[seq(2,10,by=2)]
[1] 12 14 16 18 20
Vectores
La funcin rep(): Ayuda cuando es
necesario repetir una secuencia de
nmeros varias veces para generar un
vector deseado.
repeticin de valores:
rep(valor a repetir, numero de repeticiones)
#se repite el 3 diez veces
rep(3,10)
Vectores
#repetimos 1:4 dos veces
rep(1:4,2)
12341234
#repetimos 1:4 dos veces, intercalando el
resultado
rep(1:4,each=2)
11223344
Vectores
La funcin rep(): Ayuda cuando es
necesario repetir una secuencia de
nmeros varias veces para generar un
vector deseado.
v <- c(4, 8, -3)
w <- rep(v, times = 5)
print(w)
[1] 4 8 -3 4 8 -3 4 8 -3 4 8 -3 4 8 -3
Vectores
#Repetir los nmeros del 1 al 3; el primero 1
vez, el segundo 2 veces y el tercero 3 veces
rep(1:3,1:3)
[1] 1 2 2 3 3 3
Elimina el elemento N4
Acceso a los elementos
individuales de un vector
[1] 8 7 -3 2 182 6 9 213 9
Elimina el elemento N4
c[-4]
[1] 8 7 -3 182 6 9 213
Elimina el nmero -3
Elimina los nmero 8 y 7 en una sola funcin
Acceso a los elementos
individuales de un vector
[1] 8 7 -3 182 6 9 213
Elimina el nmero -3
c[-3]
[1] 8 7 2 182 6 9 213
Elimina los nmero 8 y 7 en una sola funcin
c[-c(1,2)]
[1] -3 2 182 6 9 213
Acceso a los elementos
individuales de un vector
Supngase por ejemplo que se tiene el
registro de cantidades de ciertas frutas en
un vector:
frutas <- c(15, 100, 2, 30)
frutas
[1] 15 100 2 30
Acceso a los elementos
individuales de un vector
Supngase ahora que se quiere asociar
esos valores con el nombre de la fruta
correspondiente:
names(frutas) = c("naranja", "pera",
"manzana", "durazno)
Si ahora se manda desplegar el vector:
frutas
naranja pera manzana durazno
15 100 2 30
Acceso a los elementos
individuales de un vector
nombres<-c(naranja,pera,manzana,
durazno)
names(frutas)<-nombres
frutas
naranja pera manzana durazno
15 100 8 30
Acceso a los elementos
individuales de un vector
v = c(45,43,56,48,51)
names(v)<-
c(Lun,Mar,Mie,Jue,Vie)
V
Lun Mar Mie Jue Vie
45 43 56 48 51
names(v)
[1] Lun Mar Mie Jue Vie
Acceso a los elementos
individuales de un vector
Otra manera ms directa de nombrar los
elementos de un vector, es en el momento
mismo de la creacin con la funcin c(),
con una sintaxis semejante a la siguiente:
frutas <- c(naranja = 15, pera = 100,
manzana = 2, durazno = 30)
naranja pera manzana durazno
15 100 2 30
Acceso a los elementos
individuales de un vector
Adems se puede acceder a los elementos
individuales del vector mediante su
nombre:
frutas["durazno"]
Durazno
30
Cambiar el valor 2 por 8 en las manzanas
Acceso a los elementos
individuales de un vector
remain<-
c(spades=11,hearts=12,diamonds=11,clubs=13)
remain[-1]
hearts diamonds clubs
12 11 13
remain[-c(1,2)]
diamonds clubs
11 13
remain[-spades]
Error in spades:invalid argument to unary
operator
Acceso a los elementos
individuales de un vector
Cambiar el valor 2 por 8 en las manzanas:
frutas["manzana"] <- 8
frutas[3]<-8
naranja pera manzana durazno
15 100 8 30
Acceso a los elementos
individuales de un vector
frutas <- c(naranja = 15, pera = 100,
manzana = 2, durazno = 30,platano=47)
frutas
Cambiar el nombre de pera por fresas
Acceso a los elementos
individuales de un vector
names(frutas)[2]="fresas"
> frutas
naranja fresas manzana durazno platano
15 100 2 30 47
Operaciones con vectores
Algunas funciones tiles con vectores: length()
min(), max() sum() mean(), median()
sort() unique() which(), which.max(),
which.min() plot()
La funcin length() devuelve el tamao de un
vector.
v <- c(5,10,0,0,2)
length(v) 5
min(v) 0
max(v) 10
Operaciones con vectores
La funcin sum() suma todos los elementos de
un vector sum(v) 17
Las funciones mean() y median() calculan
respectivamente la media y la mediana de los
elementos de un vector mean(v) 3.4 median(v)
2
Operaciones con vectores
La funcin sort() ordena los elementos de un
vector
sort(v)
0 0 2 5 10
La funcin unique()devuelve un vector sin
elementos repetidos
unique(v)
5 10 0 2
Operaciones con vectores
La funcin which()recibe una expresin que
devuelve un vector lgico y devuelve los
ndices true del vector lgico.
v>3
TRUE TRUE FALSE FALSE FALSE
which(v>3)
12
Operaciones con vectores
Las funciones which.min() y which.max()
devuelven respectivamente los ndices de los
elementos mnimo y mximo de un vector.
which.min(v)
3
which.max(v)
2
Operaciones con vectores
Cuando los vectores tienen dimensiones
diferentes, el de menor dimensin se extiende
repitiendo los valores desde el principio,
aunque da un mensaje de aviso
d <- c(2,4)
e <- c(1,3,5,7)
d+e
[1] 3 7 7 11
Operaciones con vectores
x<-c(1,2,3,4,5)
y<-c(1,2,3,4,5,6)
x+y
[1] 2 4 6 8 10 7
Mensajes de aviso perdidos
In x + y :
longitud de objeto mayor no es mltiplo de la
longitud de uno menor
Operaciones con vectores
# Resulta en un vector de longitud 1
v <- 2 + 3
V
[1] 5
# Resulta en un vector de longitud 2
v <- c(2, 3) - c(5, 1)
V
[1] -3 2
Operaciones con vectores
# Resulta en un vector de longitud 3
v <- c(2, 3, 4) * c(2, 1, 3)
v
[1] 4 3 12
# Resulta en un vector de longitud 2
v <- c(2, 3) - c(5, 1)
V
[1] -3 2
Operaciones con vectores
earnings<-c(50,100,30)
earnings+c(10,20,30)
[1] 60 120 60
earnings*c(1,2,3)
[1] 50 200 90
earnings/c(1,2,3)
[1] 50 50 10
Operaciones con vectores
# Eleva a potencias 3,2,1
v <- c(2, 3, 4)^(3:1)
v
[1] 8 9 4
Operaciones con vectores
v <- c(4, 5, 6, 7, 8, 9, 10,14) * c(1, 2)
>v
[1] 4 10 6 14 8 18 10 28
Operaciones con vectores
# Dos veces el cuadrado de v
v <- c(2, -3, 4)
w <- 2 * (v^2)
w
[1] 8 18 32
Operaciones con vectores
En muchas ocasiones es necesario saber la
longitud de una vector. La funcin length()
aplicada a un vector regresa precisamente ese
valor:
u <- 2:33
v <- c(4, 5, 6)
w <- c(u, v) w
length(w)
[1] 35
Operaciones con vectores
[1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26
[26] 27 28 29 30 31 32 33 4 5 6
Qu pasa si probamos este vector para saber
cules de sus elementos son menores o iguales
a 10?
# Prueba elementos menores o iguales a 10
w <= 10
Operaciones con vectores
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
TRUE
[10] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE
[19] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE
[28] FALSE FALSE FALSE FALSE FALSE TRUE TRUE
TRUE
Operaciones con vectores
x <- c(2,4,7,20)
y <- c(3,2,8,19)
z <- x>y
z
[1] FALSE TRUE FALSE TRUE
Operaciones con vectores
f<-c(2,3,4)
f
[1] 2 3 4
sum(f)
[1] 9
max(f)
[1] 4
min(f)
Operaciones con vectores
(1:10)*2
(1:10)*(1:5)
(1:10)*(1:10)
(1:10)*(2:5)
Operaciones con vectores
Sexo<-c("H","M","H","M","M","H")
Nombres<-
c("Pepe","Maria","Juan","Ana","Lola","Paco")
Sexo=="H"
[1] TRUE FALSE TRUE FALSE FALSE TRUE
Nombres[Sexo=="H"]
Operaciones con vectores
v1 <- c(5,1,5)
v2 <- c(2,1,3)
v1 == v2
FALSE TRUE FALSE
v1 + v2
728
v1 == 5
TRUE FALSE TRUE
Operaciones con vectores
Vector1<-c(1,2,3,4,5)
Length(vector1)
[1] 5
Length(vector1)<-10
Vector1
[1]1 2 3 4 5 NA NA NA NA NA
Length(vector1)<-3
[1]1 2 3
Construccin de una Martrix
# Construya una matriz con 3 filas que contengan los
nmeros de 1 a 9
(m <- 11:30)
[1] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ##
[19] 29 30
> matrix(1:6,ncol=3)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> matrix(1:3,nrow=2,ncol=3)
[,1] [,2] [,3]
[1,] 1 3 2
[2,] 2 1 3
Construccin de una Martrix
> matrix(sample(20),nrow=4,ncol=5)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 12 4 13 11
[2,] 9 2 3 6 7
[3,] 20 16 15 18 19
[4,] 10 8 17 5 14
Construccin de una Martrix
Por otra parte, las dimensiones de la matriz pueden
cambiarse en cualquier momento, y el acceso a un
elemento particular de la
matrizsehaceahoramediantedosndices:elrenglnylacolum
na,aunque,el
accesoaloselementosdelamatrizcomounvector,esdecir,con
unsolondice, sigue siendo posible, como se muestra en
seguida:
Remover objetos: rm
> rm(notas)
rm(list=ls())