Monday, January 11, 2010

SAS Code to Randomly Select NJ Pick 6 Lotto numbers

I did this little program about seven years ago on a day I was bored at work!

DATA _NULL_;
CUR = DATE();
CUR1 = PUT(CUR,MMDDYY10.);
CALL SYMPUT ('CUR',CUR1);
RUN;

%MACRO PROCESS;
%DO Z = 1 %TO 6;
%IF &Z = 1 %THEN %DO;
DATA Z1;
Y = 49 * RANUNI(0) +1;
Z1 = INT(Y);
CALL SYMPUT("Z1",Z1);
DROP Y;
RUN;
%END;
%ELSE %DO;
DATA Z&Z;
RETAIN TRUE 1;
DO WHILE (TRUE);
Y = 49 * RANUNI(0) +1;
Z&Z = INT(Y);
IF Z&Z NOT IN (%DO I = 1 %TO %EVAL(&Z - 1);
&&Z&I
%END; ) THEN DO;
OUTPUT;
TRUE = 0;
END;
END;
CALL SYMPUT("Z&Z",Z&Z);
DROP Y TRUE;
RUN;
%END;
%END;
DATA NUMBERS;
MERGE Z1 Z2 Z3 Z4 Z5 Z6;
RUN;
TITLE1 "YOUR PICK-6 LOTTO NUMBERS FOR &CUR";
PROC PRINT DATA=NUMBERS NOOBS;
RUN;
%MEND;

%PROCESS

Friday, January 8, 2010

New York R Statistical Programming Meetup

Meet with other users of the R Programming Language. Learn and share tricks and techniques from and with other users. Beginners welcome.

http://www.meetup.com/nyhackr/

Thursday, December 24, 2009

NY SAS Users Group Meeting Jan. 14, 2010!

The next NYASUG meeting has been scheduled at Pace University on Thursday, January 14th. Directions to the exact location and information for accessing speakers' papers will be sent closer to the meeting date. Meanwhile, if you think that you will attend, please let us know by sending a reply to this notice to Debi Reece with "Coming to NYASUG January 14" in the subject line or body of the email.

The meeting room has limited capacity so we will need RSVPs for this meeting. In addition, for security purposes, we will need to supply a list of names to the University.



Tentative Schedule:

08:30 - 09:00 Coffee and Conversation

Tips from the Trenches:
Some Uncommon Solutions to Common Problems
09:00-09:50 Christopher Bost

09:50-10:20 Random Access and Break

Boot Camp for Programmers:
Stuff you Need to Know that’s not in the Manual
Best Practices to Help us Achieve Reproducibility
10:20-11:15 Elizabeth Axelrod


Using SAS System and Dataset Options to Control Your Data
11:15-12:10 David Franklin


12:10--1:30  Lunch


Creepy Character
Don't Resort to Re-Sort
A Few of my Favorite Things:
Goodies Gleaned from SAS Conferences
01:30-02:25 Elizabeth Axelrod


02:25-02:40 Break


Identifying Duplicate Records
Some Unexpected Results w/PROC SORT and NODUPRECS
02:40-03:30 David Franklin

Should I Build a Segmented Model?:
A Practitioner's Perspective
03:30-04:20 Krishna Mehta