Entrar los datos al R
Ya hemos visto métodos muy simples para introducir los valores de datos en R, con la consola de R o comandos de línea de la escritura de manera equivalente. Una vez más, por ejemplo
> a <-2
establece el valor 2 al objeto a. Un ejemplo más complicado ocurre cuando tenemos una lista de valores, también conocido como un vector. Así, por ejemplo, supongamos que tenemos una lista de los días en que se captura un animal durante un estudio de captura de 5 días. Por ejemplo, suponga que capturamos un animal en la primera ocasión, no en la segunda, y es recapturado en cada ocasión 3 -5. Podríamos resumir los datos de ese animal en unobjeto de la lista como
> capturas <- c (1,3,4,5)
donde "c ()" es un operador de colección que en R signfica una lista de números.
Si tecleamos "capturas" en la línea de comandos, obtenemos los 4 valores que se muestran, separados por espacios.
> capturas
[1] 1,3,4,5
Un dataframe es un objeto de R en el que las entradas de datos están en filas y columnas, las filas son observciones individuales y las columnas son las diferentes variables que se registran para cada observación. Los dataframes se pueden construir de forma interactiva, o "coerced" (convertido) de otros objetos. A menudo será conveniente leer datos de un archivo externo (o archivos) y convertirlos a un dataframe.
Podemos ilustrar tanto el uso de archivos externos coma la creación de los dataframes por una amplificación sencilla del ejemplo anterior. Supongamos que capturamos y marcamos varios animales (espero que sea mucho, pero nuestro ejemplo será pequeño. Así que ahora nuestros registros constan de 2 piezas de información (1), una etiqueta de la identidad animales (por ejemplo, "A", B " , "C", etc) y (2) los días que cada animal fue capturado. También podríamos tener información exclusiva de cada animal (tales como su masa corporal en la captura) o único para el día de captura (por ejemplo, temperatura). Ahora nuestros datos del ejemplo pueden tener un aspecto como este
y se guardan en este formato de columna en un de texto delimitado por comas o CSV ; los archivos de tipo csv se crean fácilmente con Excel u otro programa de hoja de cálculo, o como salida de los programas de gestión de datos más comunes (dBase, Access, etc.). Esta es una forma típica (y buena) para registrar los datos de campo en un estudio de CMR; veremos más adelante cómo convertir esto en un formato que se puede utilizar para los programas de CMR.
En lo anterior, las etiquetas "NA" significan "no disponible", lo que significa que (en este ejemplo) la masa no se registró para algunos animales en algunos de los días de estudio. Esta es una forma estándar de denotar los valores perdidos en R (y es muy recomendable sobre otros enfoques, como dejar el campo en blanco, el uso de guiones, 99999, o algo así).
El comando
> capturas<-read.csv ("capture_data.csv", header = T)
leerá los datos del archivo csv (esperando que las columnas estén separadas por comas). La opción header = T específica que la primera línea del archivo es una línea que designa los nombres de las variables; Introduciendo el comando "captura" confirma que los datos se introdujeron en forma adecuada. Los dataframes serán la forma estándar para introducir y manipular datos en R, y se usan fácilmente en la mayoría de los programas que vamos a utilizar para los análisis. Por último, el archivo de script adjunto guarda los comandos de que R se utilizan para leer los datos y crear el dataframe, y también produce algunas estadísticas de resumen sencillas.
Guardando los datos / resultados
Hay varias maneras de guardar datos, cálculos, y otros resultados de las sesiones de R. Ya hemos visto cómo se pueden crear objetos de R, y se puede accessder a ellos en sesiones posteriores de R si el área de trabajo se guarda y restaura. Hay muchos otros formatos en que los datos se pueden guardar utilizando R, pero nos enfocamos en formatos simples similares a los anteriores: El archivo de texto delimitado. El comando "write.table" o aún más simplemente "write.csv" producirá un archivo de texto delimitado de un dataframe.
> write.csv (capturas, file = 'captures.new.csv')
tomará el dataframe capturas trama de datos y la escribirá al archivo nuevo (captures.new.csv), con la preservación de los encabezados de columna y el formato separado por comas. Por supuesto en general no vamos a preocuparnos simplemente en clonar copias de los datos de esta manera, por lo que un uso más práctico se produce cuando se crea un nuevo cómputo en nuestro programa y queremos guardar los resultados. Así, por ejemplo, supongamos que deseamos crear una nueva variable llamada Temp.F, en la que convertimos las temperatura de centigrados a Fahrenheit. Se podría crear la nueva variable y la incluimos en el archivo de salida revisada por los comandos
temp.F <-function (C) {32 9/5 * C}
# Aplicar las observaciones temporales al dataframe
captura$ Temp.F <-temp.F (captura$Temp)
write.csv (capturas, file = "captures.new.csv")
Algunas otras cosas merecen ser mencionadas:
Usé en una función definida por el usuario para convertir la temperatura. ¡Más sobre esta aproximación más adelante!
¡R es sensible a mayúsculas! Así temperatura y Temperatura son 2 objetos diferentes. Esto puede ser una gran fuente de errores si no se tiene cuidado
Por defecto write.csv (y write.table) va a escribir nuevos datos en el nombre de archivo especificado, por lo que si los datos están presentes estos serán sobrescritos. Datos se puede añadir a los datos existentes con el comando write.table y el "append = TRUE ". El comando write.table también permite diferentes tipos de delimitadores y opciones para los encabezados. Usaremos write.table u otros enfoques para la escritura de datos en los archivos a medida que surja estas necesidades más específicas.
Resumiendo y manipulando datos
Aquí vamos a usar un ejemplo de datos un poco más grande para ilustrar algunos de los métodos básicos para resumir y manipular datos. En el ejemplo de los datos implican 101 muestras de conteos de insectos a lo largo de un gradiente altitudinal de 0 a 1000 m en intervalos de 10 m; los datos están contenidos en un archivo csv . Leemos los datos en R utilizando los comandos
> insectos <-read.table ("insects.csv", header = T, sep = ",")
> attach (insectos)
En primer lugar, podemos obtener algunas estadísticas de resumen sencillas ya sea para todas las variables a la vez, o para una sola variable en el tiempo. Por ejemplo
> summary (insectos)
proporciona
plot elevation count
Min. : 1 Min. : 0 Min. : 156
1st Qu.: 26 1st Qu.: 250 1st Qu.: 528
Median : 51 Median : 500 Median : 1856
Mean : 51 Mean : 500 Mean : 4452
3rd Qu.: 76 3rd Qu.: 750 3rd Qu.: 6390
Max. :101 Max. :1000 Max. :21991
> mean(elevation)
[1] 500
> sd(elevation)
[1] 293.0017
> range(elevation)
[1] 0 1000
> mean(count)
[1] 4451.911
> sd(count)
[1] 5572.118
> range(count)
[1] 156 21991
>
Una variedad de otras estadísticas de resumen como mediana, moda, percentiles, y otros se obtienen de manera similar. Por ejemplo
>quantile(count,c(.01,.5,.9))
proporciona los 1%, 50% y 90% cuantiles (percentiles) de la variable ¨count¨.
Del mismo modo,
>median(count)
proporciona el valor de la mediana de recuento, que se puede confirmar es el mismo que el 50% percentil.
Todos los comandos anteriores se guardan en un archivo de script de R .