2017-02-22 4 views
0

Je veux transformer mes données dans R avec un logarithme et je veux le tracer avec un qqplot. J'ai reçu le message d'avertissement, voir ci-dessous. Qu'est-ce que cela signifie exactement pour l'intrigue?R: Transformation de données avec message d'avertissement log10 qqline la condition a une longueur> 1 et seul le premier élément sera utilisé

log <-log10(life$p) 
qqplot(life$p,log, main = "Normal Q-Q Plot",plot.it = TRUE) 
qqline(life$p,log, col="red") 

Le message d'avertissement était:

Dans le cas (DATAX) {:
la condition a une longueur> 1 et seul le premier élément sera utilisé

Répondre

0

Il semble être plusieurs choses mal ici.

Votre appel au qqplot ne fait presque certainement pas ce que vous vouliez. Notez que la documentation ?qqplot dit:

qqplot produit une parcelle QQ de deux ensembles de données.

Votre code est:
qqplot(life$p,log, main = "Normal Q-Q Plot",plot.it = TRUE)
Les "deux ensembles de données" que vous lui donnez sont la vie $ p et log, donc ce tracera les quantiles de la vie $ p contre les quantiles de log = log10 (vie $ p). Ça n'a aucun sens. Puisque votre titre indique "Tracé Q-Q normal", je suppose que vous vouliez tracer le journal par rapport à une distribution normale. Pour obtenir cela, vous avez probablement voulu:
qqnorm(log, main = "Normal Q-Q Plot")

Maintenant à votre message d'erreur.
La documentation de qqline donne la séquence argument:

qqline(y, datax = FALSE, distribution = qnorm, 
     probs = c(0.25, 0.75), qtype = 7, ...) 

Votre appel à cette fonction est:

qqline(life$p,log, col="red") 

Vous ne nommez pas les arguments afin qu'ils soient interprétés dans l'ordre. life $ p est y et log est datax. datax est censé être une valeur logique (TRUE/FALSE), mais vous lui transmettez un tableau de nombres, d'où le message d'erreur. Je crois que ce que vous aviez l'intention était:

qqline(log, col="red") 

Enfin, log est le nom de la fonction logarithme naturel. C'est une mauvaise idée de nommer votre variable log car ce sera déroutant si cela se réfère à la fonction ou la variable.