Un tutorial rápido de GNU R para operaciones básicas, funciones y estructuras de datos
Introducción
En los últimos dos artículos hemos aprendido cómo instalar y ejecutar GNU R en el sistema operativo Linux. El propósito de este artículo es proporcionar un tutorial de referencia rápida para GNU R que contiene una introducción a los objetos principales del lenguaje de programación R. Aprenderemos sobre operaciones básicas en R, funciones y variables. Además, presentaremos estructuras de datos R, objetos y clases.
Operaciones Básicas en R
Comencemos con un ejemplo matemático simple. Ingrese, por ejemplo, la suma de siete y tres en su consola R y presione enter, como resultado obtenemos:
> 7+3
[1] 10
Para explicar con más detalle lo que ha pasado y lo que es la terminología que utilizamos cuando se arranca R, se dice que el intérprete de R impreso un objeto devuelto por una expresión entrado en la consola R . También debemos mencionar que R interpreta cualquier número como un vector. Por lo tanto, "[1]" cerca de nuestro resultado significa que el índice del primer valor que se muestra en la fila dada es uno. Esto se puede aclarar aún más definiendo un vector más largo usando la función c () . Por ejemplo:
>c(1:100)
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
[37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
[55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
[73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
[91] 91 92 93 94 95 96 97 98 99 100
También es posible realizar operaciones en vectores. Por ejemplo, podemos agregar dos vectores de la siguiente manera:
> c(1,5,67,0)+c(0,1.5,6.7,3)
[1] 1.0 6.5 73.7 3.0
Tenga en cuenta que esto significa agregar elementos correspondientes de estos dos vectores. Si los vectores no son del mismo tamaño, el vector más corto se repite varias veces y si la longitud del objeto más largo no es un múltiplo de la longitud del objeto más corto, se genera un mensaje de advertencia:
> c(1,5,8,9)+c(0, 1.4)
[1] 1.0 6.4 8.0 10.4
> c(1,5,8,9)+c(0, 1.4,7)
[1] 1.0 6.4 15.0 9.0
Warning message:
In c(1, 5, 8, 9) + c(0, 1.4, 7) :
longer object length is not a multiple of shorter object length
Además, podemos definir vectores de caracteres en R como:
> c("linuxcareer.com", "R tutorial")
[1] "linuxcareer.com" "R tutorial"
Finalmente, para hacer un comentario al código R usamos "#". En particular,
> # This is a comment in R code
Funciones y Variables
También podemos definir o usar funciones predefinidas en R. La mayoría de las funciones en R se construyen de la siguiente forma
f(argument1, argument2,...)
Aquí "f" es el nombre de la función y "argumento1, argumento2, ..." es la lista de argumentos de la función. Por ejemplo, usando algunas funciones predefinidas obtenemos
> sin(pi/2)
[1] 1
> log(3)
[1] 1.098612
A diferencia del ejemplo anterior, algunas funciones en R tienen la forma de operadores como suma, potencia, igualdad, etc. Por ejemplo, el operador de igualdad produce un resultado de tipo de datos booleano (FALSO / VERDADERO):
> 4==4
[1] TRUE
Del mismo modo que en otro lenguaje de programación, R usa variables. El operador de asignación está aquí "<-" (o "="), por ejemplo
> x<-c(1,4,7)
> x+x
[1] 2 8 14
Ahora podemos referirnos al tercer valor del vector "x" por
> x[3]
[1] 7
o buscar solo miembros menores de siete:
> x[x<7]
[1] 1 4
También podemos, por ejemplo, recuperar los elementos uno y tres como
> x[c(1,3)]
[1] 1 7
Finalmente, puede definir funciones en R simplemente nombrándolas en consecuencia y luego llamándolas con este nombre de manera similar a las funciones integradas en R. Por ejemplo:
> myfunction<-function(x,y){x+y}
> myfunction(4,5)
[1] 9
Si desea ver el código correspondiente a una función determinada, simplemente escriba el nombre de la función como
> myfunction
function(x,y){x+y}
Estructuras de datos
Como primer ejemplo de una estructura de datos, ilustramos cómo definir matrices (matrices), es decir, vectores multidimensionales.
Podemos, por ejemplo, definir una matriz explícitamente de la siguiente manera
> a<-array(c(1:24),dim=c(6,4))
> a
[,1] [,2] [,3] [,4]
[1,] 1 7 13 19
[2,] 2 8 14 20
[3,] 3 9 15 21
[4,] 4 10 16 22
[5,] 5 11 17 23
[6,] 6 12 18 24
O primero podemos crear un vector y usar la función matrix () , es decir
v<-c(1:24)
> m<-matrix(data=v,nrow=6,ncol=4)
> m
[,1] [,2] [,3] [,4]
[1,] 1 7 13 19
[2,] 2 8 14 20
[3,] 3 9 15 21
[4,] 4 10 16 22
[5,] 5 11 17 23
[6,] 6 12 18 24
También es posible definir más de una matriz bidimensional como
> w<-array(v,dim=c(3,2,4))
> w
, , 1
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
, , 2
[,1] [,2]
[1,] 7 10
[2,] 8 11
[3,] 9 12
, , 3
[,1] [,2]
[1,] 13 16
[2,] 14 17
[3,] 15 18
, , 4
[,1] [,2]
[1,] 19 22
[2,] 20 23
[3,] 21 24
Hacer referencia a un valor de una parte de una matriz es nuevamente simple, por ejemplo
> w[1,1,1]
[1] 1
> w[1:2,1:2,1]
[,1] [,2]
[1,] 1 4
[2,] 2 5
Al omitir los índices obtenemos todos los elementos de una dimensión dada, tales como:
> w[,1,1]
[1] 1 2 3
Veamos ahora estructuras de datos más complicadas con más de un tipo de datos subyacente. Estos tipos de datos se denominan listas. Las listas en R pueden contener una selección variada de objetos de varios tipos de datos. Podemos nombrar cada componente de una lista y, por lo tanto, luego podemos referirnos a ese componente por su nombre o ubicación. Por ejemplo,
> l<-list(name="linuxcareer.com",visitors="10,000")
> l
$name
[1] "linuxcareer.com"
$visitors
[1] "10,000"
Ahora podemos referirnos a los componentes de la lista por nombre o por ubicación como se indica a continuación
> l$visitors
[1] "10,000"
> l[1]
$name
[1] "linuxcareer.com"
> l[[1]]
[1] "linuxcareer.com"
Un marco de datos es una lista que contiene múltiples vectores con nombre con la misma longitud. Es una estructura similar a una base de datos. Ahora construyamos un marco de datos que contenga algunos tipos de cambio (otra moneda / USD):
> currency<-c("Kroner", "Canadian $", "Hong Kong $", "Rupees")
> date_090812<-c(6.0611,0.9923,7.7556,55.17)
> date_100812<-c(6.0514,0.9917,7.7569,55.18)
> exchangerate<-data.frame(currency,date_090812,date_100812)
> exchangerate
currency date_090812 date_100812
1 Kroner 6.0611 6.0514
2 Canadian $ 0.9923 0.9917
3 Hong Kong $ 7.7556 7.7569
4 Rupees 55.1700 55.1800
Ahora podemos referirnos a un elemento particular de un marco de datos por su nombre. Por ejemplo, es posible que necesitemos especificar el tipo de cambio Hong Kong $ / USD en 090812. Podemos lograr esto de la siguiente manera
>exchangerate$date_090812[exchangerate$currency=="Hong Kong $"]
[1] 7.7556
Objetos y clases
R es un lenguaje de programación orientado a objetos. Esto significa que cada objeto en R tiene un tipo y es miembro de una clase. Para identificar una clase para un objeto dado, usamos la función class () como en el siguiente ejemplo:
> class(exchangerate)
[1] "data.frame"
> class(myfunction)
[1] "function"
> class(1.07)
[1] "numeric"
En R no todas las funciones están asociadas con una clase particular como en otros lenguajes de programación orientados a objetos. Sin embargo, existen algunas funciones que están estrechamente vinculadas con una clase específica. Estos se llaman métodos . En R, los métodos llamados funciones genéricas comparten el mismo nombre para diferentes clases. Esto permite que tales funciones genéricas se apliquen a objetos de diferentes tipos. Por ejemplo, "-" es una función genérica para restar objetos. Puede restar números, pero también puede restar números de una fecha como se muestra a continuación:
> 4-2
[1] 2
> as.Date("2012-09-08")-2
[1] "2012-09-06"
Conclusión
El objetivo de este tutorial básico de R era presentar el lenguaje de programación R a los principiantes, que nunca antes habían usado R. Este tutorial también puede ser útil como tutorial de referencia para aquellos que aprenderán aplicaciones más avanzadas del software estadístico R. En el próximo artículo describiremos cómo definir modelos estadísticos y realizar análisis estadísticos básicos con R. Esto se combinará con una ilustración de las posibilidades gráficas del software R.
Serie de tutoriales de GNU R:
Parte I: Tutoriales introductorios de GNU R:
- Introducción a GNU R en el sistema operativo Linux
- Ejecutar GNU R en el sistema operativo Linux
- Un tutorial rápido de GNU R para operaciones básicas, funciones y estructuras de datos
- Un tutorial rápido de GNU R para modelos estadísticos y gráficos
- Cómo instalar y usar paquetes en GNU R
- Construyendo paquetes básicos en GNU R
Parte II: Lenguaje GNU R: