Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Temario
A- Help
B- Ejercicio estructuras de datos
C- Lectura y escritura de archivos de texto
D- Guardar el entorno de trabajo
E- Indexación
F- Modificación de valores
G- Función subset
A- Help
?sqrt
?log10
?sample
con «filename» indicamos el nombre (y ruta) del archivo, con «width» y «height»
indicamos el ancho y largo del gráfico, respectivamente, con «units» podemos
especificar las unidades en que estamos dando el tamaño del gráfico, «pointsize»
indica el tamaño del texto que graficamos, «bg» indica el color de fondo de la
imagen, «quality» la calidad de la imagen JPEG como % (con valores pequeños
donde «file» indica el nombre y ruta del archivo que vamos a guardar, «width» y
«height» indican el ancho y largo del gráfico, «online» se utiliza para especificar si
queremos varias figuras en un único archivo (con TRUE), «family» nos permite
especificar la familia de la fuente de texto que utilizaremos, «title» para indicar un
título, «fonts» para especificar la familia de la fuente utilizada para fuentes
adicionales (por defecto Helvetica), «paper» indica el tamaño del papel («a4»,
«letter»,»legal»,»executive», etc.) , «bg» y «fg» para el color de fondo capa,
resepctivamnte, «pointsize» especifica el tamaño de los puntos (por defecto 12),
«colormodel» la configuración de color («srgb» -por defecto-, «gray» o «cmyk»).
“Año”=2010
“Mes”=“Enero”
str(df.estaciones)
## 'data.frame': 6 obs. of 4 variables:
## $ ID : int 1 2 3 4 5 6
## $ Estacion.Meteorologica: chr "Toreadora " "Tres Cruces" "La Virgen"
"Chirimachay" ...
## $ Temperatura.Promedio : num 6.5 3.01 7.06 12.1 22.5 20
## $ Estado.Actual : Factor w/ 2 levels "Funciona","No
Funciona": 1 2 1 1 2 2
df.estaciones$Temperatura.Promedio
## [1] 6.50 3.01 7.06 12.10 22.50 20.00
df.estaciones$ID
## [1] 1 2 3 4 5 6
temperatura = df.estaciones$Temperatura.Promedio
temperatura
## [1] 6.50 3.01 7.06 12.10 22.50 20.00
typeof(temperatura)
## [1] "double"
nrow(df.estaciones)
## [1] 6
ncol(df.estaciones)
## [1] 4
Ejemplo:
Ahora vamos a extraer una sola columna del data frame y contabilizar el número
de elementos:
Crear un data frame manualmente puede ser muy extenso y además ser sensible
a errores de escritura. La mayor parte de aplicaciones trabajan con archivos de
texto que pueden ser importados o exportados.
Directorio de trabajo
La primera obtiene la ruta del directorio actual de trabajo, en tanto que el segundo
especifica o cambia la ruta del directorio sobre el cual se desea trabajar.
getwd()
## [1] "C:/Users/Pablo-LK/Dropbox/Proyectos/iDRHICA/Clase sobre R/Curso
R"
setwd("C:/Users/Pablo-LK/Documents/CursoR")
head(df.observaciones)
## FECHA VALOR STATUS ESTACION year day month
## 7671 01/01/2003 0 M012 2003 1 1
## 7672 02/01/2003 0 M012 2003 2 1
## 7673 03/01/2003 0 M012 2003 3 1
## 7674 04/01/2003 0 M012 2003 4 1
## 7675 05/01/2003 0 M012 2003 5 1
## 7676 06/01/2003 0 M012 2003 6 1
(OK)
df.observaciones <- read.table("observaciones_2003.csv", header = TRUE,
na.strings = "", stringsAsFactors = FALSE)
head(df.observaciones)
class(df.observaciones)
## [1] "data.frame"
nrow(df.observaciones)
## [1] 8030
a<-1
b<-2
c<-3
save(a, b, file = "variables_parciales.RData")
Ahora que ya tengo un archivo .RData con mis variables de interés, puedo cargar
este archivo nuevamente. Por ejemplo, al día siguiente luego de que apague el
computador y perdí toda mi información de trabajo.
load("todas_variables.RData")
E- Indexación
Para acceder a uno o varios elementos de un data frame, se colocan los índices
de fila(s) y columna(s) deseados entre corchetes, así [filas,columnas]. El primer
índice se utilizará para recuperar las filas del data frame y el segundo para
recuperar las columnas.
Enteros Positivos
Enteros Negativos
Espacios en blanco
Valores lógicos
Nombres
Enteros Positivos
head(df.observaciones)
## FECHA VALOR STATUS ESTACION year day month
## 7671 01/01/2003 0 M012 2003 1 1
## 7672 02/01/2003 0 M012 2003 2 1
## 7673 03/01/2003 0 M012 2003 3 1
## 7674 04/01/2003 0 M012 2003 4 1
## 7675 05/01/2003 0 M012 2003 5 1
## 7676 06/01/2003 0 M012 2003 6 1
df.observaciones[1, 1]
## [1] "01/01/2003"
Para extraer más de un valor, se debe usar un vector de enteros positivos. Por
ejemplo para recuperar la primera fila de nuestro data frame de observaciones.
df.observaciones[1,c(1,2,3,4,5,6,7)]
## FECHA VALOR STATUS ESTACION year day month
## 7671 01/01/2003 0 M012 2003 1 1
df.observaciones[1,1:7]
## FECHA VALOR STATUS ESTACION year day month
## 7671 01/01/2003 0 M012 2003 1 1
vec<-c(6,1,3,6,10,5)
vec[1:3]
## [1] 6 1 3
En caso de que se requiera como salida un data frame para el segundo caso
basta con agregar el argumento drop
Enteros Negativos
df.observaciones[-(2:52), 1:3]
Espacios en blanco
Se puede utilizar un espacio en blanco para indicarle a R que debe extraer todos
los valores en una dimensión. Esto es útil para recuperar/extraer todas las
columnas o todas las filas de un data frame.
df.observaciones[1, ]
## FECHA VALOR STATUS ESTACION year day month
## 7671 01/01/2003 0 M012 2003 1 1
Nombres
df.observaciones[, c("FECHA","ESTACION")]
vec[7] <- 0
vec
## [1] 1 0 1 0 1 0 0
filas <- nrow(df.observaciones)
df.observaciones$new <- 1:filas
head(df.observaciones)
## FECHA VALOR STATUS ESTACION year day month new
## 7671 01/01/2003 0 M012 2003 1 1 1
## 7672 02/01/2003 0 M012 2003 2 1 2
## 7673 03/01/2003 0 M012 2003 3 1 3
## 7674 04/01/2003 0 M012 2003 4 1 4
## 7675 05/01/2003 0 M012 2003 5 1 5
## 7676 06/01/2003 0 M012 2003 6 1 6
En el caso opuesto, para eliminar o remover una columna de un data framese usa
la expresión df.observaciones$new <- NULL
G- Función subset
Existe una función que se utiliza para obtener un subonjunto de datos, esta se
denomina subset. De acuerdo al siguiente ejemplo, cuáles son los argumentos
que se deducen que requiere esta función?.
head(newdata,20)
tail(newdata,20)