Script de bash para determinar promedio y desviación estándar en columnas con v.db.select (GRASS-QGIS)

Como una extensión y generalización del script para la suma de atributos en columnas se propone éste para determinar promedio y desviación estándar con la posibilidad de escoger la database y la columna sobre la que se desean tales operaciones. Para el despliegue de las databases (incluye la de los vectoriales) se usa db.tables y para las columnas db.columns. El script se encuentra a continuación:

#! /bin/bash
clear
echo "Este script determina promedio en campos de databases"; echo
echo "Databases disponibles en este mapaset"; echo
db.tables -p; echo
read -p "Nombre de la database a procesar = ? " vectorial; echo
echo "Columnas disponibles en la database elegida "; echo 
db.columns table=$vectorial;echo
read -p "Nombre de columna = ? " columna
temporal=`v.db.select map=$vectorial col=$columna | grep -oE '[0-9.-]*'`
suma=0
suma2=0
iter=0
for var in $temporal
do 
	suma=$(echo "$suma + $var" | bc )
	suma2=$(echo "$suma2 + $var*$var" | bc )
	iter=$(expr $iter + 1)
done
echo
echo "El promedio de" $columna "es =" $(echo "scale=5; $suma/$iter" |bc)
echo "La desviacion estandar de" $columna "es =" $(echo "scale=5; sqrt (($suma2-$suma*$suma/$iter)/($iter-1))" | bc -l)
echo "con" $iter "valores procesados"

Se grabó como script_promedio, se le dió permisos de ejecución con chmod +x script_promedio y se ejecutó con ./script_promedio. Su ejecución se visualiza en la siguiente imagen para el vectorial cuenca_intercepto2 y su columna distancia (dataset tiznados/jose):

El resultado fue verificado en una hoja de cálculo con la salida de v.db.select map=cuenca_intercepto2 column=distancia y resultó ser idéntico.

Esta entrada fue publicada en GRASS, QGIS, SIG, Software Libre. Guarda el enlace permanente.

3 respuestas a Script de bash para determinar promedio y desviación estándar en columnas con v.db.select (GRASS-QGIS)

  1. Pingback: Script de bash para determinar promedio y desviación estándar en columnas con v.db.select (GRASS-QGIS) | Geoprocessing - Geoprocessamento | Scoop.it

  2. Pingback: Script de bash para la extracción múltiple de coordenadas de imágenes, con espesor de una celda en sentido vertical, con GRASS-QGIS |

  3. Pingback: Calcular media aritmética por columnas en un ráster usando un script de bash |

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s