Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2015:alunos:trabalho_final:gisela.martini:start

Gisela Martini

img-20150301-wa0009_-_copy.jpg

Doutoranda em Ciências no Centro de Química e Meio Ambiente, IPEN - USP. Mestre pelo Instituto de Pesquisas Energéticas e Nucleares - Universidade de São Paulo (2013), atuou em projeto de pesquisa com ensaios de toxicidade e efeitos biológicos da radiação em organismos aquáticos. Graduada Ciências Biológicas com ênfase em Biologia Marinha pela Universidade Santa Cecília - Santos, SP (2010). Experiência nas áreas de: Gestão, Controle e Monitoramento em Ecotoxicologia. (http://lattes.cnpq.br/0575674204746522)

ex_1_3.r

exercicios_aula_3_-_notar.txt

4.2-4.5.r

5.1-5.3.r

106.2.r

106.3.r

exercicio_regressao_multipla.r

exercicio_8.r

analise_exploratoria.r

proposta_a.txt

proposta_b.txt

PROPOSTA A

Calculo do IQA e correlacao com ATIVIDADE ESTROGENICA em pontos de monitoramento de aguas superficiais do estado de Sao Paulo

O Indice de Qualidade das Aguas (IQA) incorpora nove variaveis consideradas relevantes para a avaliacao da qualidade das aguas, tendo como determinante principal a sua utilizacao para abastecimento publico. A proposta tem por objetivo criar uma funcao para o calculo do IQA utilizando como dados de entrada nove variaveis inseridas separadas por colunas em uma matriz, cujas linhas representam os valores amostrados (locais de amostragem, certo?). O IQA é calculado pelo produtorio ponderado da qualidade da agua correspondente as variaveis que integram o indice. A seguinte formula sera utilizada:

IQA = prod(i=1,n)[qi^(wi)]

Onde: IQA: Indice de Qualidade das Aguas, um numero entre 0 e 100; qi: qualidade do i-esimo parametro, um numero entre 0 e 100, obtido da respectiva “curva media de variacao de qualidade”, em funcao de sua concentracao ou medida e, wi: peso correspondente ao i-esimo parametro, um numero entre 0 e 1, atribuido em funcao da sua importancia para a conformacao global de qualidade, sendo que:

sum(i=1,n)[wi=1]

Em que: n: numero de variaveis que entram no calculo do IQA. A qualidade da agua e determinada pelo resultado do calculo do IQA variando numa escala de 0 a 100 (CETESB, 2013). Disponível em: http://www.cetesb.sp.gov.br/userfiles/file/agua/aguas-superficiais/apendices-relatorio-aguas-superficiais2013/Ap%C3%AAndice%20C%20%20%C3%8Dndices%20de%20Qualidade%20das%20%C3%81guas.pdf, acesso em 23 de fevereiro de 2015.

dados.csv

codigo_iqa.r

Código da função:

#Serão apresentados objetos para as variáveis utilizadas no cálculo do IQA, dentro de cada objeto estão os valores referentes ao ponto de amostragem

#Lendo o arquivo com o conjunto de dados

read.table(“dados.csv”, header=T, sep=“,”, as.is=F)

#Criando um data frame contendo as 9 variáveis utilizadas para o cálculo do índice de qualidade das águas - IQA

indice=read.table(“dados.csv”, header=TRUE, sep=“;”) X=indice

#Verificação dos dados de entrada

str(x) dim(x) D=dim(x) head(x)

#Criando os objetos para o cálculo do qi (qi é um valor calculado para fornecer a qualidade da variável isolada, esse número pode variar de 0-100) #qi.(cada variável)foi definida como sendo = 0 (zero) para que prossiga com o cáculo de cada parâmetro dentro da função

qi.ct=0 qi.ph=0 qi.dbo=0 qi.nt=0 qi.ft=0 qi.temp=0 qi.turb=0 qi.st=0 qi.od=0

#Objetos contendo os dados dos pontos amostrados

x1=X[1,] x2=X[2,] x3=X[3,] x4=X[4,] x5=X[5,] x6=X[6,] x7=X[7,] x8=X[8,] x9=X[9,] x10=X[10,]

#Criando a função

IQA= function(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10)

{

#Definindo as variáveis de entrada

ct=(x1[1]) ph=(x1[2]) dbo=(x1[3]) nt=(x1[4]) ft=(x1[5]) temp=(x1[6]) turb=(x1[7]) st=(x1[8]) od=(x1[9])

#Calculando os valores de qi x1

#Calculo do qi para variavel ct - Coliformes termotolerantes

lg=log10(ct)

if(lg⇐1)

                              { 
                              qi.ct=100-(33*lg) 
                              }

if(lg>1 & lg⇐5)

                              { 
                              qi.ct=100-(37.2*lg)+(3.60743*log10(ct^2)) 
                              }

if(lg>5)

                              { 
                              qi.ct=3
                              }

#Calculo do qi para variavel ph - pH

if(ph⇐2)

                              { 
                              qi.ph=2 
                              }

if(ph>2 & ph⇐4)

                              { 
                              qi.ph=13.6-(10.6*ph)+(2.4364*(ph^2)) 
                              }

if(ph>4 & ph⇐6.2)

                              { 
                              qi.ph=155.5-(77.36*ph)+(10.2481*(ph^2))
                              }

if(ph>6.2 & ph⇐7)

                              { 
                              qi.ph=-657.2+(197.38*ph)-(12.9167*(ph^2))
                              }

if(ph>7 & ph⇐8)

                              { 
                              qi.ph=-427.8+(142.05*ph)-(9.695*(ph^2))
                              }

if(ph>8 & ph⇐8.5)

                              { 
                              qi.ph=216-(16*ph)
                              }

if(ph>8.5 & ph⇐9)

                              { 
                              qi.ph=1415823*exp(-1.1507*ph)
                              }

if(ph>9 & ph⇐10)

                              { 
                              qi.ph=228-(27*ph)
                              }

if(ph>10 & ph⇐12)

                              { 
                              qi.ph=633-(106.5*ph)+(4.5*(ph^2)) 
                              }

if(ph>12 & ph⇐14)

                              { 
                              qi.ph=3
                              }

#Calculo do qi para variavel dbo - DBO

if(dbo⇐5)

                              { 
                              qi.dbo=99.96*exp(-0.1232738*dbo) 
                              }

if(dbo>5 & dbo⇐15)

                              { 
                              qi.dbo=104.67-(31.5463*(log10(dbo)))
                              }

if(dbo>15 & dbo⇐30)

                              { 
                              qi.dbo=4394.91*(dbo^-1.99809)
                              }

if(dbo>30)

                              { 
                              qi.dbo=2
                              }

#Calculo do qi para variavel nt - Nitrogenio total

if(nt⇐10)

                              { 
                              qi.nt=100-(8.169*nt)+(0.3059*(nt^2))
                              }

if(nt>10 & nt⇐60)

                              { 
                              qi.nt=101.9-23.1023*log10(nt)
                              }

if(nt>60 & nt⇐100)

                              { 
                              qi.nt=159.3148*exp(-0.0512842*nt)
                              }

if(nt>100)

                              { 
                              qi.nt=1
                              }

#Calculo do qi para variavel ft - Fósforo total

if(ft⇐1)

                              { 
                              qi.ft=99*exp(-0.91629*ft)
                              }

if(ft>1 & ft⇐5)

                              { 
                              qi.ft=57.6-(20.178*ft)+(2.1326*(ft^2))
                              }

if(ft>5 & ft⇐10)

                              { 
                              qi.ft=19.8*exp(-0.13544*ft)
                              }

if(ft>10)

                              { 
                              qi.ft=5
                              }

temp=94

                              { 
                              qi.temp=94
                              }

#Calculo do qi para variavel turb - Turbidez

if(turb⇐25)

                              { 
                              qi.turb=100.17-(2.67*turb)+(0.03775*(turb^2))
                              }

if(turb>25 & turb⇐100)

                              { 
                              qi.turb=84.768*exp(-0.016206*turb)
                              }

if(turb>100)

                              { 
                              qi.turb=5
                              }

#Calculo do qi para variavel st - Sólidos totais

if(st⇐150)

                              { 
                              qi.st=79.75+(0.166*st)-(0.001088*(st^2))
                              }

if(st>150 & ft⇐500)

                              { 
                              qi.st=101.67-(0.13917*st)
                              }

if(st>500)

                              { 
                              qi.st=32
                              }

#Calculo do qi para variavel od - oxigênio dissolvido

if(od⇐50)

                              { 
                              qi.od=3+(0.34*od)+(0.008095*(od^2))+1.35252*(0.00001*(od^3))
                              }

if(od>50 & od⇐85)

                              { 
                              qi.od=3-(1.166*od)+(0.058*(od^2))-3.803435*(0.0001*(od^3))
                              }

if(od>85 & od⇐100)

                              { 
                              qi.od=3+(3.7745)*(od^0.704889)
                              }

if(od>100 & od⇐140)

                              { 
                              qi.od=3+2.9*(od)-(0.02496)*(od^2)+5.60919*(0.000018(od^3))
                              }

if(od>140)

                              { 
                              qi.od=3+47
                              }

#Criando objeto com os valores de peso para cada parâmetro (wi) (o peso wi, é uma constante aplicada a cada variável)

wi=c(0.15,0.12,0.10,0.10,0.10,0.10,0.08,0.08,0.17)

#Criando um objeto com os valores de qi calculados para cada parâmetro na função

qi=c(qi.ct,qi.ph, qi.dbo,qi.nt, qi.ft, qi.temp, qi.turb, qi.st, qi.od)

#Calcular o qi^wi para cada variável

iqa.ct= (qi.ct^wi[1]) iqa.ph= (qi.ph^wi[2]) iqa.dbo= (qi.dbo^wi[3]) iqa.nt= (qi.nt^wi[4]) iqa.ft= (qi.ft^wi[5]) iqa.temp= (qi.temp^wi[6]) iqa.turb= (qi.turb^wi[7]) iqa.st= (qi.st^wi[8]) iqa.od= (qi.od^wi[9])

#Calculando o IQA para x1

IQA1 = iqa.ct*iqa.ph*iqa.dbo*iqa.nt*iqa.ft*iqa.temp*iqa.turb*iqa.st*iqa.od

(OBS: repetição para cada ponto de amostragem, vide arquivo: iqa.r)

help.r

05_curso_antigo/r2015/alunos/trabalho_final/gisela.martini/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)