R: diferència entre les revisions

48 bytes afegits ,  1 juny 2005
cap resum d'edició
Cap resum de modificació
Línia 34: Línia 34:


Los nombres de los objetos pueden contener mayúsculas, minúsculos, números y puntos. La única restricción es que deben empezar por una letra.
Los nombres de los objetos pueden contener mayúsculas, minúsculos, números y puntos. La única restricción es que deben empezar por una letra.
== Tipos de datos ==
Hay distintos tipos de datos en R, algunos de los cuales son:
* logical: sólo permite los valores T o F.
* numeric: sólo pueden contener números reales.
* character: permite introducir tanto número como cualquier caracter.
Para saber qué tipo de datos contiene un objeto:
mode(nombreobjeto)
== Tipos de objetos ==
Los distintos tipos de datos pueden estar contenidos en los muchos tipos distintos de objetos que existen en R. Para conocer de qué tipo es un objeto:
class(nombreobjeto)
Algunos de ellos son:
=== Vectores ===
Cadenas unidimensionales (es decir una sola ''columna'' o ''fila'') de un tipo único de valores (númericos, caracteres, etc.).
{|border=1
|-
|1
|-
|4
|-
|7
|}
=== Matrices ===
Estructura bidimensional donde todos los datos deben ser del mismo tipo.
{|border=1
|-
|A
|1
|F
|-
|G
|B
|2
|-
|7
|D
|X
|}
=== Listas ===
Como una matriz pero permitiendo la introducción de distintos tipos de datos.
=== Factores ===
Este tipo de objeto es fundamental para el análisis estadístico pues es la forma como se tratan las variables categóricas.
=== Data Frames ===
=== Otros tipos de objetos ===
Muchas funciones de R producen como ''resultado'' un objeto de un tipo particular y único de esa función. Por ejemplo la función ''glm'', que ajusta modelos de regresión, produce un objeto de tipo ''glm'' que contiene los distintos ''resultados''.


== Convenciones básicas de la sintaxis ==
== Convenciones básicas de la sintaxis ==
Línia 192: Línia 125:
En sistemas GNU/Linux se aconseja la instalación de [http://www.gnu.org/software/emacs/ GNU Emacs] por su mayor facilidad de integración  con R en estos sistemas. En [[Ubuntu]] y a través de Synaptic se puede instalar fácilmente tanto [http://www.gnu.org/software/emacs/ GNU Emacs] como el modo [http://stat.ethz.ch/ESS/ Emacs Speaks Statistics (ESS)], sin necesidad de mayores configuraciones.
En sistemas GNU/Linux se aconseja la instalación de [http://www.gnu.org/software/emacs/ GNU Emacs] por su mayor facilidad de integración  con R en estos sistemas. En [[Ubuntu]] y a través de Synaptic se puede instalar fácilmente tanto [http://www.gnu.org/software/emacs/ GNU Emacs] como el modo [http://stat.ethz.ch/ESS/ Emacs Speaks Statistics (ESS)], sin necesidad de mayores configuraciones.


== Introducción de datos ==
== Tipos de datos ==


En ocasiones es útil prepararse unos datos sencillos para provar distintas funciones antes de aplicarlas sobre nuestra base de datos. El siguiente código es un ejemplo de como realizar esta tarea:
Hay distintos tipos de datos en R, algunos de los cuales son:
 
* logical: sólo permite los valores T o F.
* numeric: sólo pueden contener números reales.
* character: permite introducir tanto número como cualquier caracter.
 
Para saber qué tipo de datos contiene un objeto:
 
mode(nombreobjeto)
 
== Tipos de objetos ==
 
Los distintos tipos de datos pueden estar contenidos en los muchos tipos distintos de objetos que existen en R. Para conocer de qué tipo es un objeto:
 
class(nombreobjeto)
 
Algunos de ellos son:
 
=== Vectores ===
 
Cadenas unidimensionales (es decir una sola ''columna'' o ''fila'') de un tipo único de valores (númericos, caracteres, etc.).
 
Hay distintas funciones para crear vectores, la más simple de la cuales es ''c()'', que simplemente crea un vector a partir de los valores que se introducen:


  c(1,2,3,4,5)  
  c(1,2,3,4,5)  


La instrucción anterior genera un vector (se puede entender como una variable numérica en el lenguaje clásico) que '''c'''ontiene 5 números (1 a 5) mediante la instrucción '''c''', pero lo único que hará es imprimir en pantalla esta secuencia. Para guardar el vector como un objeto debemos escribir:
La instrucción anterior genera un vector que contiene 5 números (1 a 5), pero lo único que hará es imprimir en pantalla esta secuencia. Para guardar el vector como un objeto debemos escribir:


  prueba<-c(1,2,3,4,5)
  prueba<-c(1,2,3,4,5)
Línia 226: Línia 181:
devolverá por pantalla el valor 18. Lógicamente este valor se podría haber asignado a un objeto.
devolverá por pantalla el valor 18. Lógicamente este valor se podría haber asignado a un objeto.


Si en lugar de un vector queremos generar una matriz, es decir un vector multidimensional, debemos usar las siguientes funciones:
Para saber el número de valores de un vector:
 
length(prueba3)
 
=== Matrices ===
 
Estructura bidimensional donde todos los datos deben ser del mismo tipo.
 
Para crear una matriz debemos usar las siguientes funciones:


*'''c'''olumn '''bind'''
*'''c'''olumn '''bind'''
Línia 282: Línia 245:


asignará al objeto ''prueba7'' un vector con los valores 9, 3, 5, correspondientes a las columnas 3, 4 y 5 de la segunda fila.
asignará al objeto ''prueba7'' un vector con los valores 9, 3, 5, correspondientes a las columnas 3, 4 y 5 de la segunda fila.
Para conocer las dimensiones de una matriz usaremos:
dim(prueba5)
que devolverá el valor 2 (filas) 5 (columas).
=== Factores ===
Este tipo de objeto es fundamental para el análisis estadístico pues es la forma como se tratan las variables categóricas.
=== Data Frames ===
Como una matriz pero pudiendo contener distintos tipos de datos. Es lo que clásicamente se ha llamado ''base de datos''.
Si disponemos por ejemplo de dos vectores (que se pueden entender como ''variables'') y queremos unirlos en un ''data frame'':
base<-as.data.frame(cbind(vector1,vector2))
=== Otros tipos de objetos ===
Muchas funciones de R producen como ''resultado'' un objeto de un tipo particular y único de esa función. Por ejemplo la función ''glm'', que ajusta modelos de regresión, produce un objeto de tipo ''glm'' que contiene los distintos ''resultados''.


== Captura de datos externos ==
== Captura de datos externos ==