Forcer le type numeric à la place d'integer

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Christophe Genolini
Messages : 698
Enregistré le : 12 Juin 2006, 21:37
Contact :

Forcer le type numeric à la place d'integer

Messagepar Christophe Genolini » 03 Mai 2007, 10:17

Bonjour

il semblerait qu'il ne soit pas possible de forcer un integer à être un numeric...

Code : Tout sélectionner

> x<-1:2
> class(x)
[1] "integer"
> class(x) <- "numeric"
> class(x)
[1] "integer"


Quelqu'un sait pourquoi ?

Dans le même genre :

Code : Tout sélectionner

> x <- c(1:2)
> class(x)
[1] "integer"
> x <- c(1:2,3)
> class(x)
[1] "numeric"

On marche un peu sur la tête, ou c'est moi qui a raté une marche ?

Christophe

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 03 Mai 2007, 11:11

Bonjour,

Je pense que le problème sans en avoir la certitude vient de la gfaçon dont est gérer le integer probablement d'un point de vue mémoire, ou par rapoort au type de classe de l'integer. Tu peux poser ta question sur la R liste et les concepteurs pourront surement te répondre.

Code : Tout sélectionner

x <- 1:10
class(x)
[1] "integer"
mode(x)
[1] "numeric"
typeof(x)
[1] "integer"
storage.mode(x)
[1] "integer"
y <- c(1:10,3)
class(y)
[1] "numeric"
mode(y)
[1] "numeric"
typeof(y)
[1] "double"
storage.mode(y)
[1] "double"
x <- as.numeric(x) #fonction de conversion
class(x)
[1] "numeric"
mode(x)
[1] "numeric"
typeof(x)
[1] "double"
storage.mode(x)
[1] "double"


Maxime

Pierre Casadebaig
Messages : 67
Enregistré le : 07 Déc 2006, 12:31

Messagepar Pierre Casadebaig » 03 Mai 2007, 11:21

Sans comprendre la finalité de la fonction écrite par Christophe, et en lisant le titre du sujet, il me semble que les fonctions de conversions permettent de changer le type d'une variable :

Code : Tout sélectionner

> x<-1:2
> class(x)
[1] "integer"
> x<-as.numeric(x)
> class(x)
[1] "numeric"


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité