2011-05-26 4 views
1

J'ai besoin d'appliquer une méthodologie économétrique, et je dois considérer une variable continue parmi mes régresseurs. Le problème est que j'ai juste des variables discrètes.Ajouter une erreur aléatoire à une variable discrète dans R

Quelqu'un pourrait-il me dire comment ajouter une petite erreur aléatoire (résiduelle) avec une moyenne de 0 à une variable discrète (une colonne dans ma base de données), et l'enregistrer dans ma base de données? Je suis toujours un débutant.

Exemple: Je

mA <- data.frame(Asexo=c(1, 0, 0, 1, 0)) 

et je veux ajouter une petite erreur à mA$Asexo de sorte qu'il est devenu une variable continue:

mA <- data.frame(Asexocontiuous=c(1.03, 0.34, 0.18, 0, 1.5)) 
+0

Veuillez être plus précis. Quelle est la forme de vos données discrètes - sont-elles entières ou catégoriques ('factor's in R)? Pourquoi "devez-vous utiliser une variable continue"? Utilisez-vous une méthodologie qui ne permet pas de points répétés? Je pense que '? Jitter' et'? Rnorm' (et 'l'introduction à R') seraient de bons points de départ. –

+0

Cher ben, je n'ai que des variables fictives parce que je travaille avec des microdonnées de l'école –

+0

Cela n'explique toujours pas ce que vous voulez faire. Quel est le problème que vous essayez de résoudre? Pouvez-vous donner un exemple simplifié de ce à quoi pourrait ressembler une solution acceptable à votre problème? –

Répondre

4

Si vous voulez 'jitter' un 0/1 variable afin de s'assurer qu'il n'y a pas de doublons (ou d'utiliser une méthode qui nécessite des variables continues), l'approche la plus simple est

mydat$sexcont <- rnorm(nrow(mydat),mean=mydat$sexbinary,sd=csd) 

csd est l'écart type choisi. Un peu plus d'élégance,

mydat <- transform(mydat,sexcont=rnorm(nrow(mydat),mean=sexbinary,sd=csd)) 

Si sexbinary est un facteur puis utilisez as.numeric(sexbinary) (ou as.numeric(sexbinary)-1 si vous avez besoin d'être un 0/1 plutôt qu'une variable 1/2)

Vous pouvez également voir ?jitter , bien que cela soit plus couramment utilisé dans le contexte d'éviter les chevauchements de points dans les graphiques.

+0

merci Ben .... vous l'avez fait !!!!!!! merci encore !!!! je vous possède un !!!! –

+0

Si j'ai répondu de manière satisfaisante à votre question, vous devez cliquer pour accepter la réponse ... –

+0

désolé .... là vous êtes !!!! merci encore !!!! –

Questions connexes