Inferencia Estadıstica II Introducción a R Los comandos elementales

Anuncio
Inferencia Estadı́stica II
Introducción a R
Los comandos elementales son expresiones o asignaciones a una variable.
• Una expresión es un comando que simplemente muestra el resultado de
un cálculo, el cual no se mantiene en la memoria del ordenador.
• Una asignación pasa el resultado de un cálculo a una variable cuyo nombre
se guarda en la memoria del ordenador.
> 3+8.6*1.5^2
[1] 22.35
> x<- 3+8.6*1.5^2
> x
[1] 22.35
Todas las variables ( y otros objetos de R) se guardan en el ordenador hasta
que los sobreescribamos o se borren explı́citamente con el comando rm(). Una
lista de las variables guardadas se obtiene con ls() o objects(). Hay que notar
que todos las funciones de R van seguidas de paréntesis (). Si escribimos el
nombre de una función sin ellos, saldrá el código en R
> 3.1415-> y
> ls()
[1] "x" "y"
> rm(x)
> objects()
[1] "y"
> rm
function (..., list = character(0), pos = -1, envir = as.environment(pos),
inherits = FALSE)
{
dots <- match.call(expand.dots = FALSE)$...
if (length(dots) && !all(sapply(dots, function(x) is.symbol(x) ||
is.character(x))))
stop("... must contain names or character strings")
names <- sapply(dots, as.character)
if (length(names) == 0)
names <- character(0)
list <- .Primitive("c")(list, names)
.Internal(remove(list, envir, inherits))
1
}
<environment: namespace:base>
El comando c() de concatenar se usa para crear vectores en R. También se
pueden crear secuencias. La expresión 1 : n crea valores de 1 a n y que difieren en
1, es decir 1, 2, 3, . . . , n. Para secuencias más generales se puede usar el comando
seq(i, j, k), donde i es el punto inicial, j es el final y k es el discrimante entre
dos puntos. Para más información sobre este comando se puede hacer ?seq
> x<-c(5.4,1 ,4,7.8)
> x
[1] 5.4 1.0 4.0 7.8
> y<-c(x,4,x)
> y
[1] 5.4 1.0 4.0 7.8 4.0 5.4 1.0 4.0
> z<-1:4
> z
[1] 1 2 3 4
> seq(1,10, by=0.1)
[1] 1.0 1.1 1.2 1.3 1.4 1.5
[16] 2.5 2.6 2.7 2.8 2.9 3.0
[31] 4.0 4.1 4.2 4.3 4.4 4.5
[46] 5.5 5.6 5.7 5.8 5.9 6.0
[61] 7.0 7.1 7.2 7.3 7.4 7.5
[76] 8.5 8.6 8.7 8.8 8.9 9.0
[91] 10.0
7.8
1.6
3.1
4.6
6.1
7.6
9.1
1.7
3.2
4.7
6.2
7.7
9.2
1.8
3.3
4.8
6.3
7.8
9.3
1.9
3.4
4.9
6.4
7.9
9.4
2.0
3.5
5.0
6.5
8.0
9.5
2.1
3.6
5.1
6.6
8.1
9.6
R usa +, - * / para los cálculos aritméticos básicos y el gorro para el exponente. Las operaciones con vectores se hacen elemento a elemento.
> x<-c(1,2)
> y<-c(1,2,3,4)
> x*y
[1] 1 4 3 8
> 2*x
[1] 2 4
> 3+y
[1] 4 5 6 7
> x-y
2
2.2
3.7
5.2
6.7
8.2
9.7
2.3
3.8
5.3
6.8
8.3
9.8
2.4
3.9
5.4
6.9
8.4
9.9
[1] 0 0 -2 -2
> x^2
[1] 1 4
> x%*%y
Error in x %*% y : non-conformable arguments
> z<-c(3,4)
> x%*%z
[,1]
[1,]
11
> z%*%x
[,1]
[1,]
11
> r<-c(2,3,2,3)
> r/y
[1] 2.0000000 1.5000000 0.6666667 0.7500000
También se pueden crear vectores de caracteres, the valores logicos (TRUE,
FALSE) y de factores.
> cadena<-c("Esto", "es", "UNA CADENA", "de", "caracteres")
> length(cadena)
[1] 5
> cadena
[1] "Esto"
"es"
"UNA CADENA" "de"
"caracteres"
> cadena =="de"
[1] FALSE FALSE FALSE TRUE FALSE
> mifactor <-factor(c(25,30, 70))
> mifactor
[1] 25 30 70
Levels: 25 30 70
Para obtener el elemento de un vector se usan los paréntesis []
> x[3]
[1] NA
> y[2]
[1] 2
> cadena[1]
[1] "Esto"
> cadena[1:3]
[1] "Esto"
"es"
"UNA CADENA"
3
> y[-2]
[1] 1 3 4
> r[c(1,3)]
[1] 2 2
> y[y<3]
[1] 1 2
Vectores se pueden poner juntos para grear una estructura más complicada
llamada data frame, que es una colección de filas y columnas de la misma dimensión.
>
>
>
>
>
1
2
3
4
nombre<-c("Juan", "John", "Smirnov", "Mohamed")
pais<-c("Bolivia", "Nueva Zelanda", "Rusia", "Malasia")
edad<-c(14, 23, 98, 34)
miframe<-data.frame(nombre, pais, edad)
miframe
nombre
pais edad
Juan
Bolivia
14
John Nueva Zelanda
23
Smirnov
Rusia
98
Mohamed
Malasia
34
Las variables o columnas de una data frame no se pueden acceder como
en una matriz. Se tiene que usar el nombre de la data frame$nombre de la
columna[]. Otra manera es usar attach(dataframe).
> rm(nombre, pais, edad)
> edad
Error: object "edad" not found
> miframe$edad
[1] 14 23 98 34
> miframe$edad[2]
[1] 23
> attach(miframe)
> edad
[1] 14 23 98 34
> detach(miframe)
> edad
Error: object "edad" not found
Para el manejo de ficheros se pueden usar los siguientes comandos:
4
• Abrir un fichero está delimitado por comas: read.csv(”nombrefichero”,
header=(TRUE O FALSE))-¿miframe. El resultado es un dataframe
• Abrir fichero está delimitado por tabuladores: read.table(”nombrefichero”,
header=(TRUE O FALSE))-¿miframe. El resultado es un dataframe.
• Salvar un dataframe en un fichero delimatado por comas: write.csv(datos,
”nombrefichero”, quote=FALSE, col.names=FALSE, row.names=FALSE)
• Salvar un dataframe fichero delimatado por tabuladores: write.table(datos,
”nombrefichero”, quote=FALSE, col.names=FALSE, row.names=FALSE)
• Salvar una figura en postscript: postscript(”nombrefichero.ps”) hacer todos los comandos del plot y acabar con: dev.off()
Otros comandos que pueden ser de ayuda
• help(). Se accede a la ayuda de R.
• help.search(). Se puede buscar una keyword determinada y ver si R tiene
algo en su base de datos.
• mean(). Devuelve la media muestral de un vector.
• var(). Devuelve la quasi-varianza muestral.
• min(), max(). Devuelve el valor mı́nimo y máximo de un vector
• plot(). Produce una figura. Tiene varios argumentos que son interesantes
para cambiar la apariencia de la figura.
5
Descargar