Uma sugestão apenas. Fonte ABNT no seu email corporativo.

Abs


Em Sex, 7 de abr de 2017 18:37, Marcus Nunes via R-br <r-br@listas.c3sl.ufpr.br> escreveu:
-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


2017-04-07 16:40 GMT-03:00 marcos paulo via R-br <r-br@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


_______________________________________________
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.

_______________________________________________
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.