<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
<!--
@font-face
{font-family:Calibri}
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif"}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline}
span.EstiloDeEmail17
{font-family:"Calibri","sans-serif";
color:windowtext}
.MsoChpDefault
{font-family:"Calibri","sans-serif"}
@page WordSection1
{margin:70.85pt 3.0cm 70.85pt 3.0cm}
div.WordSection1
{}
-->
</style>
</head>
<body lang="PT-BR" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Boa tarde Srs.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Estou iniciando com a linguagem R e me deparei com uma situação da qual não tenho tido êxito em solucionar, preciso iterar sobre um vetor e onde houver valores NA substituí-los por 0, isso porque ao executar a função getValues da biblioteca
raster sobre uma linha que contenha em algumas das células o valor NA, e tentar obter o somatório destas, o R me retorna NA, vou tentar ser mais claro:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Tenho o seguinte vetor:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="color:red">> vetor</span></p>
<p class="MsoNormal"><span style="color:red"> [1] 575 618 558 549 499 487 450 412 382 342 365 254 311 362 312 335 339 267 300 350 527 555 561 545</span></p>
<p class="MsoNormal"><span style="color:red"> [25] 597 580 548 576 624 664 632 NA 539 567 574 611 660 763 658 599 577 543 514 409 364 374 361 354</span></p>
<p class="MsoNormal"><span style="color:red"> [49] 454 555 620 617 559 559 NA NA 544 560</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Se eu fizer sum(vetor) obtenho isso:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="color:red">> sum(vetor)</span></p>
<p class="MsoNormal"><span style="color:red">[1] NA</span></p>
<p class="MsoNormal"><span style="color:red"> </span></p>
<p class="MsoNormal">Então tentei iterar sobre o vetor substituindo os valores NA por 0:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span lang="EN-US" style="color:red">> for (i in 1:length(vetor)){</span></p>
<p class="MsoNormal"><span style="color:red">+ if (vetor[i]==NA){</span></p>
<p class="MsoNormal"><span style="color:red">+ vetor[i]<-0}}</span></p>
<p class="MsoNormal"><span style="color:red">Error in if (vetor[i] == NA) { : valor ausente onde TRUE/FALSE necessário</span></p>
<p class="MsoNormal"><span style="color:red">> </span></p>
<p class="MsoNormal"><span style="color:red"> </span></p>
<p class="MsoNormal">Pensei que talvez fosse necessário criar um objeto com o valor NA para realizar a comparação, criei o “vazio”, mas obtenho o mesmo erro:<span style="color:red"></span></p>
<p class="MsoNormal"><span style="color:red"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:red">> vazio</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:red">[1] NA</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:red">> for (i in 1:length(vetor)){</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:red">+ if (vetor[i]==vazio[1]){</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:red">+ vetor[i]<-0}}</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:red">Error in if (vetor[i] == vazio[1]) { :
</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:red"> </span><span style="color:red">valor ausente onde TRUE/FALSE necessário</span></p>
<p class="MsoNormal"><span style="color:red">> </span></p>
<p class="MsoNormal"><span style="color:red"> </span></p>
<p class="MsoNormal">Algum sugestão?</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Grato.</p>
</div>
<style>
<!--
@font-face
{font-family:Calibri}
@font-face
{font-family:Tahoma}
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif"}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif"}
span.TextodebaloChar
{font-family:"Tahoma","sans-serif"}
.MsoChpDefault
{font-family:"Calibri","sans-serif"}
.MsoPapDefault
{margin-bottom:10.0pt;
line-height:115%}
@page WordSection1
{margin:70.85pt 3.0cm 70.85pt 3.0cm}
-->
</style><br>
<div class="WordSection1">
<p class="MsoNormal"><b><span style="font-size:10pt; font-family:"Arial","sans-serif"; color:rgb(101,101,101)"><img src="http://www.cerradinho.com/CBio.png" height="77" width="108"></span></b></p>
<p class="MsoNormal"><b><span style="font-size:10pt; font-family:"Arial","sans-serif"; color:rgb(101,101,101)"><br>
Franklin Januario da Silva<br>
</span></b><span style="font-size:8pt; font-family:"Arial","sans-serif"; color:rgb(101,101,101)"> Agricola<br>
<br>
64 3634-2806<br>
64 9979-0608</span></p>
<p class="MsoNormal"><span style="font-size:8pt; font-family:"Arial","sans-serif"; color:rgb(101,101,101)"><b> <a href="http://www.cerradinho.com.br">cerradinho.com.br</a>
<br>
<br>
</b></span></p>
</div>
</body>
</html>