BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
HEB1
Calcite | Level 5

Dear users,

My data is attached.

I want to run correlations for each year, for all 3 groups between GDP and zscore.

for example: for year 2002   I want to calculate correlation for ordinal adoption=1 between GDP and zscore.

for year 2002   I want to calculate correlation for ordinal adoption=2 between GDP and zscore.

for year 2002   I want to calculate correlation for ordinal adoption=3 between GDP and zscore.

for year 2003   I want to calculate correlation for ordinal adoption=1 between GDP and zscore.

for year 2003   I want to calculate correlation for ordinal adoption=2 between GDP and zscore.

for year 2003   I want to calculate correlation for ordinal adoption=3 between GDP and zscore.

do that for all years in data and get the results in a nice table. 

 

Another question: If I want to add conditions for groups with ordinal_adoption1 or 2 so the correlation will only consider post=1 in the years - how to add that variable (in group ordinal_adoption=1 post=0 always) ? for example:

for year 2002   I want to calculate correlation for ordinal adoption=2 between GDP and zscore, only when post=1.

for year 2002   I want to calculate correlation for ordinal adoption=3 between GDP and zscore.only when post=1.

 

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
PaigeMiller
Diamond | Level 26

I want to run correlations for each year, for all 3 groups between GDP and zscore.

 

Use PROC CORR with a BY statement.

 

proc corr data=have;
    by year ordinal_adoption;
    var gdp zscore;
run;

 

Another question: If I want to add conditions for groups with ordinal_adoption1 or 2 so the correlation will only consider post=1 in the years - how to add that variable

 

Repeat the above code adding a WHERE statement.

--
Paige Miller

View solution in original post

1 REPLY 1
PaigeMiller
Diamond | Level 26

I want to run correlations for each year, for all 3 groups between GDP and zscore.

 

Use PROC CORR with a BY statement.

 

proc corr data=have;
    by year ordinal_adoption;
    var gdp zscore;
run;

 

Another question: If I want to add conditions for groups with ordinal_adoption1 or 2 so the correlation will only consider post=1 in the years - how to add that variable

 

Repeat the above code adding a WHERE statement.

--
Paige Miller

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!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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