[R-br] Retornando de NaN para raiz cúbica de números negativos alocados em vetores

Marcus Nunes marcus.nunes em gmail.com
Sexta Abril 7 18:36:38 BRT 2017


-27 tem três raízes cúbicas:

1) -3
2) 1.5 + 2.5981*i
3) 1.5 - 2.5981*i

O R, ao dizer que (-27)^(1/3) é NaN, ele apenas diz que a raiz cúbica
principal de -27 não é um número real. Rode, por exemplo, o seguinte:

(as.complex(-27))^(1/3)
[1] 1.5+2.598076i

Além disso, -27^(1/3) != (-27)^(1/3). Por isso os cálculos utilizando o
vetor vec são diferentes.

Uma maneira de corrigir este problema é com a seguinte função:

RaizCubica <- function(x){
  return(sign(x)*abs(x)^(1/3))
}

Esta função pode ser facilmente generalizada para qualquer raiz:

RaizQualquer <- function(x, y){
  return(sign(x)*abs(x)^(1/y))
}






--
Marcus Nunes
Professor Adjunto
Universidade Federal do Rio Grande do Norte
Centro de Ciências Exatas e da Terra
Departamento de Estatística
Laboratório de Estatística Aplicada
marcus.nunes em ccet.ufrn.br
http://marcusnunes.me/


2017-04-07 16:40 GMT-03:00 marcos paulo via R-br <r-br em listas.c3sl.ufpr.br>:

> Olá prezados boa tarde.
>
>
> Alguém saberia me explicar porque ao concatenar números negativos e
> positivos em um vetor não é possível obter a raiz cúbica dos números
> negativos? Como procederia para contornar esse problema, mantendo os dados
> no vetor ?
>
>
> Exemplo:
>
>
> > vec<-c(27,-27,27,27,-27)
> > vec^(1/3)
> [1]   3 NaN   3   3 NaN
> > -27^(1/3)
> [1] -3
>
> Situação desejada:
> [1]   3 -3   3   3 -3
>
>
> À disposição
> Marcos Paulo
>
>
> *Técnico Agrícola em Zootecnia Bacharel em Agronomia *
>
> *Mestrando em Produção Vegetal - Universidade Federal de Goiás*
> *Estagiário de Pós-Graduação da Embrapa Arroz e Feijão/CNPAF-Santo Antônio
> de Goiás-GO*
>
> *Contato: (62) 85075783*
>
> http://lattes.cnpq.br/4322347592884852
>
> _______________________________________________
> R-br mailing list
> R-br em 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170407/72608f41/attachment.html>


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