20/6/17

Tomar estadísticas

   Este es un tema bastante importante para aprovechar los planes de ejecución más adecuados a cada sentencia. Realmente consiste en recopilar y actualizar el catálogo de Oracle.

Por ejemplo, podemos consultar la vista de Oracle "ALL_TABLES", si no tomamos estadísticas de la tabla, en dicha vista no aparecerán actualizados el número de registros, campo NUM_ROWS.

Podéis realizar un ejemplo, crear una tabla cualquiera e insertarle datos, buscar la tabla en dicha vista:

select * from all_tables where TABLE_NAME = 'TABLA';

Veréis como no ha actualizado dicha vista, a continuación ejecutar las estadísticas para la tabla creada:

DBMS_STATS.GATHER_TABLE_STATS( ownname => 'OWNER', tabname =>  'TABLA');

Y en este momento si que os aparecerá actualizada.

En el caso de querer tomar las estadísticas a nivel de particiones:

DBMS_STATS.GATHER_TABLE_STATS( ownname => 'OWNER', tabname =>  'TABLA', partname => 'NOMBRE_PARTICION', estimate_percent => null, granularity=> 'PARTITION', cascade => TRUE );

Un saludo, gracias.
Ejemplo de scripts para crear particiones:



Un saludo, gracias.

30/5/17

Dataframes

Los dataframes son un tipo de datos en R que sirven para almacenar datos tabulares.

Se representa como un tipo especial de lista donde cada elemento de esta tiene la misma longitud.

La forma de tabular los dataframes nos puede recordar a una matriz, pero hay que tener en cuenta que una matriz es un tipo especial de vector, tiene la limitación de que todos los tipos que se encuentran en la matriz tienen que tener el mismo tipo. En cambio en un dataframe esto no es necesario, como es una especie de lista, cada columna puede tener un tipo distinto.

En los dataframe cada columna puede tener un nombre al igual que cada renglón row.name y col.name.

¿Como podemos crear un dataframe?


  • data.frame()

  • read.csv()    De esta forma leeríamos de un fichero.
  • read.table() De esta forma leeríamos de una tabla

Algunas sentencias que nos pueden ser útiles:



Podemos poner nombres a las listas, a los vectores, a las matrices a los dataframes ...  pero este tema lo veremos en una nueva entrada próximamente.

Vectores en R

Podemos crear vectores en R de dos formas distintas, asignando directamente los valores a una variable con "c" delante o utilizando la palabra reservada vector:



Una de las diferencias es que al crearlo con la palabra reservada vecrtor, hay que indicarle el tipo de vector que va a ser y el tamaño.


Matrices

Las matrices en R no son más que un tipo de vector con un atributo especial dimensión., que indica el número de renglones (filas) y columnas.

Creación de una matriz vacía

Para crear una matriz utilizamos la palabra reservada matrix, indicamos las filas y columnas con nrow y ncol.


Para saber la dimensión de una matriz podemos utilizar dim() y sus atributos con attributes().

Hay que tener en cuenta que las matrices se rellenan por columnas y de izquierda a derecha, a diferencia de C que se hace linea a linea de izquierda a derecha. Esto es importante saberlo para cuando queramos volcar un vector a una matriz.




Existen las palabras reservadas cbind y rbind para crear una matriz partiendo de diferentes vectores, con cbind se colocará cada vector como columna y con rbind se colocara cada vector como fila.


Listas

Las listas en R son un tipo especial de vector que puede contener elementos de diferentes clases.





Introducción a R

R es un lenguaje de programación orientado al análisis estadístico. Destaca porque lo que mejor sabe hacer es analiza datos. Algunas ventajas de R:


  • R al estar orientado a las estadísticas, proporciona un amplio abanico de herramientas. 
  • Entre otras características de R, podemos nombrar su capacidad gráfica, que permite generar gráficos con alta calidad, con sólo utilizar las funciones de graficación. 
  • R también puede usarse como herramienta de cálculo numérico y a la vez ser útil para la minería de datos.


Las típicas definiciones de R nos suelen explicar que es una implementación de software libre del lenguaje S pero con soporte de alcance estático. Se trata de uno de los lenguajes más utilizados en investigación por la comunidad estadística, siendo además muy popular en el campo de la minería de datos, la investigación biomédica, la bioinformática y las matemáticas financieras. A esto contribuye la posibilidad de cargar diferentes bibliotecas o paquetes con funcionalidades de cálculo y gráficas.

R es parte del sistema GNU y se distribuye bajo la licencia GNU GPL. Está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux.

Seguiremos ampliando esta entrada en los próximos días.