[R-br] integral de dados discretos

Luigi Cavalcanti luigicavalcanti22 em gmail.com
Sexta Outubro 26 15:56:17 BRST 2012


Prezados colegas, tenho alguns dados de produção de metano ao longo do
tempo em intervalos de 12 minutos. Gostaria da opinião de vocês sobre a
melhor forma de integrar a área sob a curva formada. Já pesquisei algumas
coisas e acredito que usar a função integrate() sobre o vetor gerado com as
funções approxfun() ou splinefun() podem resolver o problema ao ligarem os
pontos, embora redundem em resultados diferentes e não contemplem
exatamente todos os pontos. Segue o banco de dados e as funções usadas por
mim...

Banco de dados: data

   Sample    CH4A
1        1 0.02492
2        2 0.02720
3        3 0.03284
4        4 0.04048
5        5 0.04256
6        6 0.04740
7        7 0.05128
8        8 0.05348
9        9 0.05292
10      10 0.05156
11      11 0.05532
12      12 0.05608
13      13 0.05152
14      14 0.05234
15      15 0.05222
16      16 0.05266
17      17 0.05600
18      18 0.05008
19      19 0.05038
20      20 0.05148
21      21 0.04850
22      22 0.04748
23      23 0.04272
24      24 0.04294
25      25 0.04132
26      26 0.03824
27      27 0.03672
28      28 0.04056
29      29 0.03592
30      30 0.03492
31      31 0.03818
32      32 0.03628
33      33 0.03492
34      34 0.03588
35      35 0.03196
36      36 0.03380
37      37 0.03456
38      38 0.03284
39      39 0.03684
40      40 0.03282
41      41 0.03116
42      42 0.03082
43      43 0.03072
44      44 0.03488
45      45 0.03490
46      46 0.03500
47      47 0.03516
48      48 0.03256
49      49 0.02988
50      50 0.03408
51      51 0.02854
52      52 0.03392
53      53 0.02844
54      54 0.03270
55      55 0.03100
56      56 0.03074
57      57 0.03080
58      58 0.02808
59      59 0.02796
60      60 0.02822
61      61 0.04016
62      62 0.03704
63      63 0.04814
64      64 0.04636
65      65 0.04824
66      66 0.05140
67      67 0.05060
68      68 0.05602
69      69 0.06230
70      70 0.06436
71      71 0.06132
72      72 0.06396
73      73 0.06120
74      74 0.05466
75      75 0.05832
76      76 0.06704
77      77 0.06776
78      78 0.06076
79      79 0.05698
80      80 0.06096
81      81 0.06566
82      82 0.06282
83      83 0.05626
84      84 0.05456
85      85 0.05716
86      86 0.05634
87      87 0.05258
88      88 0.05564
89      89 0.05608
90      90 0.05284
91      91 0.05228
92      92 0.05008
93      93 0.05322
94      94 0.05018
95      95 0.04752
96      96 0.04478
97      97 0.04732
98      98 0.04524
99      99 0.03788
100    100 0.04192

#### Plotagem -----
plot(CH4A~Sample,data,type='l')
#### integrando com approxfun()
f2 <- approxfun(data$Sample, data$CH4A)
integrate(f2, min(data$Sample), max(data$Sample),subdivisions=1000)
#### integrando com splinefun()
f3 <- splinefun(data$Sample, data$CH4A)
integrate(f3, min(data$Sample), max(data$Sample),subdivisions=1000)
#### plotagem final --------
plot(data$CH4A~data$Sample, type = "n")
curve(f2(x), add = TRUE, col=1)
curve(f3(x), add = TRUE, col=3)
f4 <- splinefun(data$Sample, data$CH4A, method ="natural")
curve(f4(x), add = TRUE, col=4)
### Percebam que algumas variações bruscas não são contempladas pelas
curvas ajustadas, o que provavelmente afeta a área.

Grato pela atenção,
Luigi Cavalcanti
Doutorando em Zootecnia UFMG/Texas A&M University
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121026/7b16f33b/attachment-0001.html>


Mais detalhes sobre a lista de discussão R-br