bonjour,
n'étant pas un fin connaisseur de SAS/IML, j"aimerais savoir dans un premier temps quelle est la différence entre SAS/IML et SAS/IML studio.
Par ailleurs, je souhaiterais utiliser la fonction sample et un message d'erreur apparaît m'indiquant qu'elle n'est pas disponible dans ma version de SAS/IML STUDIO (3.4).
Existerait elle donc dans SAS/IML? (je dispose de la version 9.3 de sas?
merci pour vos retours
Hello,
Please excuse me for not responding in French. I do not know the language well.
For a description of SAS/IML Studio, see the 2008 paper or the Introduction to the 2010 paper at SAS/IML and SAS/IML Studio Papers and Presentations Briefly, SAS/IML is the product that you license. It is also the name of a matrix language. PROC IML implements the matrix languiage on the SAS server. SAS/IML Studio is a development environment that enables SAS/IML programmers to develop SAS/IML programs. SAS/IML Studio runs on a Windows PC. It runs programs in IMLPlus, which is a language that includes SAS/IML syntax plus a Java-like syntax for creating dynamically linked graphics.
The SAMPLE function was introduced in SAS/IML 12.1 (See SAS/IML(R) 12.1 User's Guide). For SAS/IML 9.3, you can use a function from the book Statistical Programming with SAS/IML Software. See the links in the first paragraph of the article Sampling with replacement: Now easier than ever in the SAS/IML language - The DO Loop
Hello,
Please excuse me for not responding in French. I do not know the language well.
For a description of SAS/IML Studio, see the 2008 paper or the Introduction to the 2010 paper at SAS/IML and SAS/IML Studio Papers and Presentations Briefly, SAS/IML is the product that you license. It is also the name of a matrix language. PROC IML implements the matrix languiage on the SAS server. SAS/IML Studio is a development environment that enables SAS/IML programmers to develop SAS/IML programs. SAS/IML Studio runs on a Windows PC. It runs programs in IMLPlus, which is a language that includes SAS/IML syntax plus a Java-like syntax for creating dynamically linked graphics.
The SAMPLE function was introduced in SAS/IML 12.1 (See SAS/IML(R) 12.1 User's Guide). For SAS/IML 9.3, you can use a function from the book Statistical Programming with SAS/IML Software. See the links in the first paragraph of the article Sampling with replacement: Now easier than ever in the SAS/IML language - The DO Loop
Merci Rick! so, i wiill try to speak in english.
First, because of you, i have perfectly understood what IML is. However, i´ve tryed to follow the steps described in your topic about the sampling with and without remplacement by using the sample´s function and it doesn't work ,while it should be possible with sas 9.3
For example, i have this message in the log:
598 proc IML;
NOTE: IML Ready
599 x=1:5;
600 call randseed(325);
601 s_1=sample(x);
ERROR: Invocation of unresolved module SAMPLE.
statement : ASSIGN at line 601 column 1
602 print s_1;
ERROR: Matrix s_1 has not been set to a value.
statement : PRINT at line 602 column 1
I should have sent you the direct link to the SAS/IML 9.3 module for sampling with replacement: Sampling with replacement in SAS
Your program will look like this:
proc iml;
/* Define module for random sampling with replacement and uniform probability.
A is row vector with n elements and each sample contains k elements.
The result is an nSamples x k matrix. Each row contains one sample. */
start SampleReplaceUni(A, nSamples, k);
results = j(nSamples, k); /* allocate result matrix */
call randgen(results, "Uniform"); /* fill with random U(0,1) */
n = ncol(A); /* number of elements */
results = ceil(n*results); /* convert to integers 1,2,...n */
return(shape(A[results], nSamples)); /* reshape and return from A */
finish;
call randseed(1234);
/* Draw 5 elements with replacement from {1,2,...,8}; Repeat 10 times */
s = SampleReplaceUni(1:8, 10, 5);
print s;
MERCI BEAUCOUP!;)
Je vous en prie. Bonne chance.
Hello Rick. I have a last question. I'm starting with sas and i have no experience to do programs. What would the program be without remplacement?Thanks
Your version of SAS is now almost 3 years old. There have been three releases of SAS/IML software since then. If you want the newer features, I encourage you to upgrade your version of SAS.
To gain experience with SAS/IML programming, I recommend the book Statistical Programming with SAS/IML Software.
I do not have a module that does sampling without replacement that works for SAS/IML 9.3. You can use the SURVEYSELECT procedure in SAS/STAT, as shown in this article: Sample without replacement in SAS - The DO Loop
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.