Sélection aléatoire de lignes en dessous d'un certain seuil<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous,
J'essaie de sélectionner au hasard 20% des observations dans mon tableau en dessous de 200, puis d'exclure ces observations de toute analyse. En d'autres termes, effectuez une sélection de ligne aléatoire à un pourcentage donné et en dessous d'un certain seuil. Merci pour tous les pointeurs!
Re: sélection de ligne aléatoire en dessous d'un certain seuilMerci Xan,
ça marche très bien!
Re: sélection de ligne aléatoire en dessous d'un certain seuilDeux options auxquelles je peux penser.
1. Utilisez Select Where pour sélectionner les lignes avec des valeurs <200. Créez un sous-ensemble en utilisant les lignes sélectionnées et choisissez Lier à la table d'origine. Créez un sous-ensemble à l'aide d'un échantillon aléatoire et choisissez également Lier à la table originale. Maintenant, sélectionnez toutes les lignes du dernier sous-ensemble et elles seront également sélectionnées dans l'original, en raison de la liaison.
2 Créez une nouvelle colonne avec une formule telle que: valeur <200 & random uniform () <0.2.
Re: sélection de ligne aléatoire en dessous d'un certain seuilUne approche simple consisterait à utiliser une étape de données pour obtenir tous les obs qui répondent à votre valeur de coupure (<200), appliquer l’une des fonctions SAS RANDom pour générer des nombres aléatoires pour chaque ligne, les trier par nombre aléatoire et ne conserver que les valeurs. haut (ou bas) 20%. Ensuite, fusionnez avec vos données d'origine pour exclure les obs.