A menos que a linha:
> diff <- abs(y1 - y2)
produza pontos com valores negativos, a abordagem deve dar a área equivalente entre a "parte de cima" da y2 e a "parte de baixo" de y1.

Em outras palavras, a área definida pelos dois trechos das suas funções y1 e y2 não pode ter "cruzamentos", e se houver precisa ver o que ele significa no domínio do problema alvo do seu estudo.

Outro ponto importante é ao impor um vetor x com valores espaçados duma unidade, há uma implícita imposição do "tamanho" da área que será calculada.

Aliás, já q se tem os dados no vetor diff, a área seria:
½∙(diff[1] +2∙sum(diff[2:99]+diff[100]), uma vez que o espaço entre pontos é a unidade.
com as unidades da abscissa multiplicada pela da ordenada.

HTH
--
Cesar Rabak




On Mon, Jan 20, 2025 at 3:09 PM Izabella Maria Viana por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Boa tarde!

Pessoal, alguém conhece alguma função para o cálculo entre duas curvas?
Utilizei o pacote "pracma", com a função trapz, que utiliza a regra dos trapézios. 
Por exemplo:

x <-  seq(1,100)

# Ajustando de duas curvas
y1 <- dados1  
y2 <- dados2

# Calculo da area
diff <- abs(y1 - y2)
area <- trapz(x, diff)

Este raciocínio está correto?

--
Izabella M S Viana
Doutoranda em Estatística (UFPE)
Economista e Mestre em Economia (UFV)
Professora Orientadora USP/ESALq
Email secundário: izabella.maria@ufpe.br
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.