Se omiten las tildes para evitar los caracteres de edicion.
R provee una serie de funciones basicas. La forma de como ingresar los datos, puede ser muy variada. Recomendamos siempre trabajar sus bases de datos desde un procesador de datos como Microsoft excel y a partir de ahi desde un simple copy and pages o exportacion de los datos podremos ingresar nuestros valores. Aqui desarrollaremos multiples formas para asignar datos al programa, de tal manera que su manejo de datos sea simple y sencillo. entenderemos que R, es un programa que hay que escribir codigos, como simples funciones matematicas.
43+7
## [1] 50
Observe que el valor entre parentesis cuadrados [1] se refiere al el numero de la linea (linea 1) donde se encuentran nuestros resultados, en nuestro caso no es tan funcional en este momento, pero resulta util para cuando trabajamos una matriz con gran cantidad de datos.
76-43
## [1] 33
345/6
## [1] 57.5
25*4
## [1] 100
(12 + 52) * 3
## [1] 192
Asi mismo a estos valores se les puede asignar un nombre, que lo denominamos un objeto. Para ello utilizaremos el simbolo “<-”. Por ejemplo
a<- 33
#Significa que a es un objeto cuyo valor es 33.
#Cree un objeto denominado `y?? cuyo valor sea igual a 5
y<-5
#Cree un objeto denominado "z"" cuya funcion sea la sumatoria de los objetos a + y
z<-a+y
#El uso de "<-"" es igual al simbol = en donde mi funcion u objeto puedo escribirlo de la siguiente manera
z=a+y
#Igualmente puede construir otras funciones basicas como suma, resta, multiplicacion, division y otras funciones mas complejas que desarrollaremos mas adelante.
#Los objetos puede denominarse con cualquier nombre y pueden construirse funciones mas complejas.
variable1<- a+y/0.65
#Es importante conocer que R es sensible a mayusculas y minusculas. Por ejemplo si usted hubiera escrito variable1<- A+y/0.65 con A MAYUSCULA, R no entendiende la funcion. Y aparece el siguiente mensaje.
#Error: objeto 'A' no encontrado
vector1 <-c(1,2,3,4,5)
vector2 <-c(6,7,8,9,10)
vector1
## [1] 1 2 3 4 5
vector2
## [1] 6 7 8 9 10
numeros10al20 <- 10:20
numeros10al20
## [1] 10 11 12 13 14 15 16 17 18 19 20
numerosdescendiente10al2<- 10:2
numerosdescendiente10al2
## [1] 10 9 8 7 6 5 4 3 2
c(1, 2, 3, 4) + c(1, 2, 3, 4)
## [1] 2 4 6 8
c(1, 2, 3, 4) * c(1, 2, 3, 4)
## [1] 1 4 9 16
c(1, 2, 3, 4) / c(1, 2, 3, 4)
## [1] 1 1 1 1
c(1, 2, 3, 4) - c(1, 2, 3, 4)
## [1] 0 0 0 0
a <- array(c(1,2,3,4,5,6,7,8,9,10,11,12),dim=c(3,4)) #dim significa dimensionar
a
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
b <- array(c(1,2,3,4,5,6,7,8,9,10,11,12),dim=c(3,8))
b
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] 1 4 7 10 1 4 7 10
## [2,] 2 5 8 11 2 5 8 11
## [3,] 3 6 9 12 3 6 9 12
m <- matrix(c(23,53,23,5,65,32),2,3)
m
## [,1] [,2] [,3]
## [1,] 23 23 65
## [2,] 53 5 32
m2 <- matrix(c(56,24,34,55,12,42,51,65,23,64),2,5)
m2
## [,1] [,2] [,3] [,4] [,5]
## [1,] 56 34 12 51 23
## [2,] 24 55 42 65 64
m2*2
## [,1] [,2] [,3] [,4] [,5]
## [1,] 112 68 24 102 46
## [2,] 48 110 84 130 128
m3 <- matrix(1 : 20, nrow = 5, ncol = 4)
m3
## [,1] [,2] [,3] [,4]
## [1,] 1 6 11 16
## [2,] 2 7 12 17
## [3,] 3 8 13 18
## [4,] 4 9 14 19
## [5,] 5 10 15 20
m4 <- data.frame (grupoa = c(1, 1, 2, 3), grupob = c(21, 8, 13, 5))
m4
## grupoa grupob
## 1 1 21
## 2 1 8
## 3 2 13
## 4 3 5
row.names(m4) <-LETTERS[1:4] # puede escribir ???letters??? en minuscula tambien, observe la diferencia.
grupoA <- c(0.360, 0.160, 0.334, 0.146, 0.058, 0.044, 0.542)
grupoB <- c(3.66, 3.36, 3.26, 2.60, 2.15, 1.86, 0.435)
m5 <- data.frame(grupoA, grupoB)
m5
## grupoA grupoB
## 1 0.360 3.660
## 2 0.160 3.360
## 3 0.334 3.260
## 4 0.146 2.600
## 5 0.058 2.150
## 6 0.044 1.860
## 7 0.542 0.435
sitioA<-c(5,7)
sitioB<-c(4,4)
m6<-data.frame(sitioA,sitioB)
rownames(m6)<-c("machos","hembras")
m6
## sitioA sitioB
## machos 5 4
## hembras 7 4
Podemos crear una simple secuencia de numeros
1:10
## [1] 1 2 3 4 5 6 7 8 9 10
seq(1, 29, by=2)
## [1] 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
seq(from = 1, to = 15, by = 2)
## [1] 1 3 5 7 9 11 13 15
seq(1,100,4)
## [1] 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89
## [24] 93 97
seq(10,by=4,length=15)
## [1] 10 14 18 22 26 30 34 38 42 46 50 54 58 62 66
rep(4,9)
## [1] 4 4 4 4 4 4 4 4 4
rep(seq(2, 20, by=3), 2) #repite la secuencia cada 3 numeros, dos veces
## [1] 2 5 8 11 14 17 20 2 5 8 11 14 17 20
rep(seq(2, 18, by=3), 5)
## [1] 2 5 8 11 14 17 2 5 8 11 14 17 2 5 8 11 14 17 2 5 8 11 14
## [24] 17 2 5 8 11 14 17
z<-vector1+vector2
#Para realizar una funcion de vectores, debe de tener el cuidado de que ambos sean de la misma longitud.
a1<-c(1,2,3)
a2<-c(1,2)
a3<-a1+a2
## Warning in a1 + a2: longer object length is not a multiple of shorter
## object length
#Permite unir dos o mas elementos diferentes, por ejemplo cuando tenemos nuestros datos de una variable x escrita en Excel de la siguiente manera.
c(0, 3, 6, 7, 9, 12)
## [1] 0 3 6 7 9 12
#Asi mismo, podemos asignar un vector a la concatenacion.
x<- c(0, 3, 6, 7, 9, 12) # ahora x es un vector de 6 elementos
w<- c(10, 13, 26, 37, 39, 42) # ahora w es un vector de 10 elementos
w
## [1] 10 13 26 37 39 42
plot(x,w) #genera un scatterplot
…