Certaines des valeurs de mes variables de réponse sont nulles. Je veux trouver quelle que soit la valeur minimale positive, diviser par 2 et ajouter ce montant à toutes les valeurs d'origine avant de prendre le journal. S'il vous plaît, aidez-moi à faire ça. C'est mon code actuel mais ça ne me semble pas correct.Comment "ajouter la moitié de la valeur positive minimum (parmi toutes) à toute la valeur de réponse" avant de prendre le journal
data dat; set dat;
lvar = log(var + (min(var)/2));
run;
Et voici quelques exemples de données
data dat;
cards;
a var
1 0
2 5
3 6
4 7
5 10
6 2
7 0
8 4
9 0
;
Merci pour toute suggestion
Pouvez-vous utiliser SQL au lieu d'une étape de données? Le code fonctionnera dans SQL mais pas une étape de données, parce que la fonction MIN fonctionne différemment entre les deux. La façon dont vous l'utilisez maintenant, c'est comment cela fonctionne dans PROC SQL. – Reeza