BookmarkSubscribeRSS Feed
Jimy85
Calcite | Level 5

Dear SAS Communities,

 

I have one question regarding the code command. Previously, I used the SAS 6.12 to determine the t value. Unfortunatel,y my computer broken and the software lost. Therefore, I am trying to use the SAS Studio to determine the t-value for my research. For your information, I need to get a t-value to arranged the factor in ascending order (see the attachment, I am trying to get the t-value like in this paper). However, when I paste the old command, it didn't work well (didn't give a t-value; see the attachment). May I know do someone know why this happen. Either my command is wrong or what. Below is my command:

 

DATA RESPONSE SURFACE FOR PROTEASE ACTIVITY;

INPUT X1 X2 X3 X4 COUNT;

LABEL X1=PH

X2=IONS

X3=DETERGENT

X4=DTT;

 

CARDS;

 

-1

-1

-1

1

17.425

1

-1

-1

-1

18.545

-1

1

-1

-1

16.464

1

1

-1

1

17.273

-1

-1

1

-1

17.745

1

-1

1

1

18.273

-1

1

1

1

24.936

1

1

1

-1

17.845

0

0

0

0

16.96

0

0

0

0

17.718

-1

-1

-1

-1

16.182

1

-1

-1

1

16.291

-1

1

-1

1

18.009

1

1

-1

-1

17.564

-1

-1

1

1

21.2

1

-1

1

-1

18.245

-1

1

1

-1

18.936

1

1

1

1

19.68

0

0

0

0

17.345

0

0

0

0

16.336

-1

0

0

0

18.436

1

0

0

0

17.345

0

-1

0

0

16.755

0

1

0

0

16.373

0

0

-1

0

18.773

0

0

1

0

20.827

0

0

0

-1

17.564

0

0

0

1

18.264

0

0

0

0

17.127

0

0

0

0

17.509

 

;

 

PROC RSREG;

MODEL COUNT=X1 X2 X3 X4/ LACKFIT;

RIDGE MAX;

RUN;

1 REPLY 1
FreelanceReinh
Jade | Level 19

Hello @Jimy85 and welcome to the SAS Support Communities!

 

Your raw data columns are separated by tab characters ('09'x), but your INPUT statement expects blanks. You can adapt the code by adding an INFILE statement to the DATA step (before the INPUT statement) specifying the delimiter (DLM='09'x):

infile cards dsd dlm='09'x;

(The DSD option is not necessary for your example data, but can be useful in case of missing values.)

 

A secondary issue is the dataset name "RESPONSE SURFACE FOR PROTEASE ACTIVITY", which is more than 32 characters long and contains blanks. This would be interpreted as five separate names and create five identical datasets. Use a shorter name and replace blanks with underscores. (Remember the name length restriction to 8 characters in SAS 6.12. Now it's 32.)

 

Ideally, specify this name also in the procedure call (proc rsreg data=...).

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Mastering the WHERE Clause in PROC SQL

SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 672 views
  • 2 likes
  • 2 in conversation