0% encontró este documento útil (0 votos)
28 vistas9 páginas

Introducción a data.frames en R

El documento proporciona una guía sobre el uso de R para la introducción, análisis e interpretación de datos en ciencias biomédicas, centrándose en la creación y manipulación de data frames. Se detallan métodos para ingresar datos manualmente, importar desde planillas de cálculo y crear data frames a partir de vectores. Además, se explican funciones para modificar, guardar y cargar data frames en el espacio de trabajo de R.

Cargado por

Oscar Santapá
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas9 páginas

Introducción a data.frames en R

El documento proporciona una guía sobre el uso de R para la introducción, análisis e interpretación de datos en ciencias biomédicas, centrándose en la creación y manipulación de data frames. Se detallan métodos para ingresar datos manualmente, importar desde planillas de cálculo y crear data frames a partir de vectores. Además, se explican funciones para modificar, guardar y cargar data frames en el espacio de trabajo de R.

Cargado por

Oscar Santapá
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Uso de herramientas informáticas para la recopilación, análisis e interpretación de datos de

interés en las ciencias biomédicas

Módulo 1 – clase 2

Table of Contents
1.Módulo 1 – clase 2............................................................................................................................1
[Link] datos en R..................................................................................................................1
[Link]: data frame..............................................................................................................1
[Link].Crear [Link].........................................................................................................1
[Link].Ingreso de datos manualmente en R...........................................................................1
[Link].Introducir a espacio de trabajo datos de una planilla de cálculo..............................1
[Link].Importar datos de una planilla de cálculo al espacio de trabajo.................................2
[Link].Creación de [Link] a partir de vectores existentes en el espacio de trabajo........3
[Link].crear nuevo data frame a partir de un [Link] existente........................................3
[Link].otra formas de crear [Link]................................................................................3
[Link].Conocer las características del data frame.................................................................4
[Link].ver una columna.........................................................................................................4
[Link].cambiar valores de un [Link].............................................................................4
[Link].guardar y cargar [Link] en espacio de trabajo...................................................5
[Link] qué tipo de objeto es uno de ellos: matrix, [Link],array,vector.....................6
[Link] objetos................................................................................................................6
[Link] sobre nombres de objetos..............................................................................................6

1. Módulo 1 – clase 2
Para esta clase usted trabajará con datos de una planilla de cálculo [Link]/xls, que debe
haber recibido junto con este archivo y las instrucciones.

1.1. Introducir datos en R


Los datos y los resultados se almacenan en en el espacio de trabajo de R en lo que llamamos
objetos. Dentro de los objetos para almacenar datos, los más comunes son
vectores
[Link]
matrices
Cada uno de ellos tiene características que los hacen más ventajosos para ciertas aplicaciones.

1.1.1. Tablas: data frame


Los [Link] son tablas con columnas y filas. Pueden almacenar datos numéricos y caracteres y
en general cualquier tipo de datos. Se asemeja a una planilla de cálculo. Una característica
importante es que cada columna debe contener el mismo tipo de datos, por ejemplo una columna
puede ser edad, es decir un dato numérico y para todas las filas, deberá ser numérico.
Contrariamente una fila puede tener en cada columna datos de diferente tipo.

[Link]. Crear [Link]

[Link]. Ingreso de datos manualmente en R


La forma más fácil es con el siguiente código y sirve para cuando debemos cargar datos
directamente en R.
En prime lugar creamos un [Link] vacío con el siguiente código, en cuyo caso estamos creando
un objeto del tipo [Link] con nombre a
a<-[Link]()
Con el código siguiente abrimos el [Link] en una interfaz amigable, donde podemos ingresar
datos y cambiar nombre a columnas.
a<-edit(a)

Haciendo click con el botón derecho del mouse sobre var1, var2, etc se despliega un pequeño menú
que nos permite cambiar nombre de la columna y tipo de datos. Al crear el [Link] con el código
anterior, R no coloca nombre a las columnas. Si desearamos crear el mismo [Link] pero
teniendo nombre de columnas, por ejemplo que la columna 1 sea nombre y la segunda edad,
podemos utilizar el código
> a<-[Link](nombre="NA",edad="NA")
si vemos el contenido de a
>a
nombre edad
1 NA NA
tenemos las dos columnas con la primer fila vacía. También podríamos ya crear el [Link]
introduciendo el primer elemento de la tabla o en realidad cualquiera, ya que luego podremos
fácilmente modificarlo.
> a<-[Link](nombre="Pérez",edad=39)
vemos el contenido
>a
nombre edad
1 Pérez 39
Con el tiempo irá conociendo otras formas más eficientes, más rápidas y más adecuadas a cada
situación que requiera.

[Link]. Introducir a espacio de trabajo datos de una planilla de cálculo


Otra forma de introducir datos al espacio de trabajo es importándola desde una planilla de cálculo.
Un detalle importante en este método es que debemos tener muy claro si el separador decimal
utilizado en la planilla es "." o ",".
Procedimiento: Utilice para este ejercicio la tablaR121 de la planilla de cálculo [Link]/ods.
Teniendo abierto R en nuestro espacio de trabajo y la planilla de cálculo, marcamos la parte de la
planilla que queremos introducir, la copiamos al portapapeles,
luego vamos a R y escribimos el siguiente código

tablaR121<-[Link]("clipboard", header=TRUE, dec=",")


Este código se utiliza si copiamos una planilla con los encabezamientos de columnas y los números
están en coma decimal. Ya veremos problemas y soluciones que se pueden presentar en casos
específicos.
Para ir familirizándonos con la terminología, en la línea de comando anterior, [Link]() es una
función de R que ejecuta algo, en este caso introduce datos desde el portapapeles a un objeto, en
este caso llamado tablaR121. Dentro de la función figura header=.... , esto es un argumento de la
función, que puede cambiar. En este caso, header=TRUE, le indica a la función que la primer línea
de lo que hemos copiado son los encabezamientos de columnas y por ende los asignará a los
nombres de columnas del [Link]. El argumento dec=",", le indica a la función [Link]() que
en nuestra planilla de cálculo la división decimal de los números se hace con una ",".

si luego pedimos el objeto creado "tablaR121"

> tablaR121
peso minutos atributo
1 23.0 1 a
2 23.1 1 a
3 23.3 1 b
4 23.5 1 b
5 23.8 1 c
vemos los datos de la planilla de cálculo. Se han introducido con punto decimal.

[Link]. Importar datos de una planilla de cálculo al espacio de trabajo


Se puede importar una planilla de cálculos completa. Si bien hay numerosas opciones y usted irá
definiendo con el tiempo cual le resulta más adecuada, para comenzar se recomienda hacerlo a
partir de archivos con extensión .csv (comma separated values). Seguramente usted tendrá algunas
dificultades hasta hallar las condiciones óptimas. Se muestra un mecanismo en este caso
desarrollado en Calc (planilla de libreOffice).

1- a partir de la hoja tablaR121 de la planilla de cálculo tablaR1-2ods/xls, grabe el archivo en


formato csv, con el nombre [Link]. En el proceso elija
Character set: Unicode
Field delimiter: {Tab}
text delimiter: "

2- desde R ejecute la siguiente linea de comandos.


tablaR121<-[Link]("[Link]",header=TRUE,sep="\t",fileEncoding ="Unicode", dec=",")
header= TRUE (o FALSE) indica si se utilizarán los encabezados de columnas como títulos de las
columnas de nuestro objeto o no
sep="\t" indica que utilizamos como Field delimiter {Tab}. Es decir quedan separados por tabulador
los valores de cada columna dentro de una fila.
fileEncoding= "Unicode", indica que utilizamos ese modo de codificación en Character set.
dec=",", indica que en nuestra planilla utilizamos como punto decimal a la coma ",".

[Link]. Creación de [Link] a partir de vectores existentes en el espacio de trabajo


Si se desea que un [Link] tenga dos columnas, la primera con los datos del objeto “a” y la
segunda con los datos del objeto “c”, se asigna el nombre del objeto, por ejemplo "tabla1" y el
siguiente código asigna las columnas. Por defecto R pone los vectores como columnas.
Usted debe tener creados del módulo anterior los vectores a y c, sino créelos nuevamente
a<-c(1,2,3,4,5)
c<-c("x","y","z","u","v")

> tabla1<-[Link](a,c)
> tabla1
ac
11x
22y
33z
44u
55v

es equivalente a
> tabla1<-[Link](cbind(a,c)) #cbind significa unidos por columnas

si utilizamos la función rbind, formará un data frame, pero cada vector ocupará una fila

> tabla2<-[Link](rbind(a,c)) #rbind significa unidos por rows


> tabla2
X1 X2 X3 X4 X5
a 1 2 3 4 5
c x y z u v

[Link]. crear nuevo data frame a partir de un [Link] existente


Si se desea formar otra tabla (tabla3) que tenga los mismos datos que tabla1, donde agregaremos
una columna "y" con datos que son una función de "a", en este caso los valores de a+1
> tabla3<-[Link](tabla1,y=a+1)
> tabla3
a c y
1 1 x 2
2 2 y 3
3 3 z 4
4 4 u 5
5 5 v 6

[Link]. Otra formas de crear [Link]


Si se le quiere poner nombre a las columnas, tenemos los vectores a e c
> tabla1<-[Link](A=a,C=c)
> tabla1
AC
11x
22y
33z
44u
55v

[Link]. Conocer las características del data frame


Un [Link] no tiene límite conocido de cantidad de filas y columnas, por lo que cuando son muy
grandes tener una idea del tipo de datos almacenados es un problema. La función str() soluciona ese
problema haciéndonos un resumen. Veamos por ejemplo para la tablaR121
> str(tablaR121)
'[Link]': 5 obs. of 3 variables:
$ peso : num 23 23.1 23.3 23.5 23.6
$ minutos : int 1 1 1 1 1
$ atributo: Factor w/ 3 levels "a","b","c": 1 1 2 3 2
La primer línea nos indica: 5 obs (5 filas) of 3 variables (3 columnas)
la segunda línea: $ peso: no indica que son datos numéricos y nos indica los valores. Cuando son
muchos nos mostrará sólo una parte
La tercer línea $ minuto: nos indica que los datos son enteros (int)
La cuarta línea $ atributo: nos indica que es un factor, es decir una variable categórica, que en este
caso tiene 3 niveles (3 levels) y nos indica los niveles existentes: a, b y c. Luego nos da el orden en
que se hallan en las primeras filas: 1,1,2,3,2 está indicando a,a,b,c,b

[Link]. ver una columna


Retomemos el trabajo con el [Link] tablaR121. Visualicémoslo
> tablaR121
peso minutos atributo
1 23.0 1 a
2 23.1 1 a
3 23.3 1 b
4 23.5 1 c
5 23.6 1 b
si deseáramos ver solo la columna peso utilizaremos el código
> tablaR121$peso
[1] 23.0 23.1 23.3 23.5 23.6
o la columna atributo

> tablaR121$atributo
[1] a a b c b
Levels: a b c
que nos muestra los datos consecutivos de la columna y luego los niveles existentes
Aclaración: cuando escribimos el nombre del [Link] seguido de $ y un nombre estamos
haciendo un llamado a una columna del [Link]. Ej tablaR121$peso, llama la columna peso del
[Link] tablaR121. Como veremos este código no sólo sirve para ver la columna.

[Link]. Cambiar valores de un [Link]


Introduzcamos en nuestro espacio de trabajo la tablaR122 de nuestra planilla de cálculo tablaR1-
[Link]/xls. Para ello utilicemos cualquier de los dos métodos vistos anteriormente.
por ejemplo
> tablaR122<-[Link]("clipboard", header=TRUE, dec=",")
vemos los datos introducidos
> tablaR122
peso minutos atributo atributo2
1 23.0 1 a tubo3
2 23.1 1 a tubo3
3 23.3 1 b tubo4
4 13.5 1 c tubo5
5 13.5 1 b tubo5

para cambiar un número en una tabla se debe indicar numero de fila y columna. Por ejemplo si
deseamos cambiar el valor 23.1 de la fila 2 y columna 1 por el valor 50, se escribe el nombre del
[Link] y entre corchetes, la fila y la columna, como lo indica el código siguiente.
> tablaR122[2,1]<-50
vemos como quedó el [Link]
> tablaR122
peso minutos atributo atributo2
1 23.0 1 a tubo3
2 50.0 1 a tubo3
3 23.3 1 b tubo4
4 13.5 1 c tubo5
5 13.5 1 b tubo5

en amarillo observamos el cambio logrado.

otra forma más sencilla es utilizar el comando


> tablaR122<-edit(tablaR122)

que abrirá una ventana de edición en un formato muy amigable, que se muestra a continuación

en esta tabla cambiamos el valor y luego oprimimos "Quit". El comando mostrado permite abrir un
[Link], modificar los datos y guardar los cambios.
Si usted hubiera ejecutado el comando
> edit(tablaR122)
ingresará al mismo sitio, podrá modificar datos si desea, pero cuando oprima Quit, esto no se
grabarán en el [Link], ya que no los asignó nuevamente al objeto con "<-". El comando
mencionado es muy útil cuando desea ver datos de un [Link].
[Link]. guardar y cargar [Link] en espacio de trabajo
Supongamos que deseamos enviar datos en un [Link] o bien utilizarlos en otro espacio de
trabajo. Un recurso interesante es grabarlo como un [Link] en un archivo independiente que
luego puede ser introducido en otro espacio de trabajo
Tomemos el [Link] tablaR122 que estamos utilizando. Lo guardamos como un archivo con el
siguiente código.
> save(tablaR122,file="tablaR122")
esto nos creará una archivo llamado tablaR122 que tendrá los datos del data frame, el cual quedará
en el directorio en el que estamos trabajando. Puede comprobar esto utilizando un administrador de
archivos.

Recuerde que para conocer en que directorio está trabajando puede ejecutar el comando.
> getwd()
cuyo resultado será algo como se describe a continuación.
[1] "/home/alfredo/alf/cursos/R/modulo1"

Si quisiera utilizar el [Link] en otro espacio de trabajo, copie el archivo al directorio donde se
halla su espacio de trabajo y luego desde el espacio de trabajo ejecute
> load("tablaR122")
comprobará con la función ls() que ahora tiene un [Link] llamado tablaR122 con los datos.

Para comprobar en este momento como funciona, elimine el [Link] tablaR122 de su espacio de
trabajo. Para ello ejecute
rm> (tablaR122)
luego compruebe si está el objeto tabla1, pidiendo el el objeto
> tablaR122
Error: object 'tablaR122' not found

Ahora vuelva a introducir el [Link] que borró, pero que anteriormente había salvado como un
archivo.
> load("tablaR122")
pida a R el objeto introducido
> tablaR122
peso minutos atributo atributo2
1 23.0 1 a tubo3
2 50.0 1 a tubo3
3 23.3 1 b tubo4
4 13.5 1 c tubo5
5 13.5 1 b tubo5

Advertirá que es un buen recurso para enviar datos a personas con las que se encuentra trabajando
sobre un mismo proyecto.

1.1.2. conocer qué tipo de objeto es uno de ellos: matrix, [Link],array,vector


En nuestros espacios de trabajo se irán juntando objetos, por ende es prioritario definir una política
de asignación de nombre. En el desarrollo de esta clase llamamos a los objetos tablaR....., cuando
son [Link], por ejemplo. Usted puede elegir su propio y más intuitiva forma. Los nombres
largos si bien son claros, al tener cientos de objetos puede ser dificultoso hallarlos.
Independientemente de la eficiencia que tenga en el trabajo de nombrar objetos, R nos da el recurso
de saber si es una [Link], matriz o vector.
Para saber si es una matriz utilizamos la función [Link](), que nos devolverá TRUE o FALSE, si
es o no. En el caso de tablaR122, la creamos como [Link]
> [Link](tablaR122)
[1] FALSE
La función [Link]() no devuelve TRUE o FALSE si es o no un [Link]
> [Link](tablaR122)
[1] TRUE
la función [Link](), nos devuelve TRUE o FALSE si es o no vector
> [Link](tablaR122)
[1] FALSE
la función [Link](), nos devuelve TRUE o FALSE si es o no un arreglo
> [Link](tablaR122)
[1] FALSE

1.1.3. Convertir objetos


Supongamos que deseamos convertir el objeto tablaR122 que es un [Link] en una matriz. Para
ello utilizamos el siguiente código
> tablaR122matrix<-[Link](tablaR122)
podemos comprobar que el objeto obtenido no es un [Link], a pesar que tablaR122 lo era.
> [Link](tablaR122matrix)
[1] FALSE
podemos verificar que el proceso lo transformó en un objeto del tipo matriz
> [Link](tablaR122matrix)
[1] TRUE

1.2. Detalle sobre nombres de objetos


Los nombres de los objetos no pueden llevar los siguientes caracteres ni espacios
~
!
@
#
$
%
^
&
*
(
)
{
}
_
+
:
"
<
>
?
,
.
/
;
'
[
]
-
=
Si bien pueden llevar números, estos no pueden iniciar el nombre del objeto. Es permitido un objeto
llamado datos1, pero no 12perros.
Es muy sencillo de recordar, solo utilice palabras y números, evite letras acentuadas.
Si desea que un objeto refleje su contenido puede utilizar mayúsculas
por ejemplo
DatosDeExperimentoDelDia<-c(..........

También podría gustarte