Manipulating Data in Base SAS® Part 3 – Deduplicate
Recent Library Articles
Recently in the SAS Community Library: Duplicates in data can badly skew the results of an analysis. @SASJedi demonstrates data deduplication using PROC SORT with the NODUPKEY, OUT=, and DUPOUT= options and PROC SQL and PROC FedSQL
Hello SAS community,
I have a dataset with a variable number_images with values 1 or 2 which indicate whether an image was read for a bunch of variable (n=110) at T0 or/and T2
this is what I get from proc freq number_images nmissT0 nmissT2 1 0 110 1 1 110 1 2 110 1 3 110 1 4 110 1 5 110 1 6 110 1 7 110 1 8 110 1 9 110 1 10 110 1 12 110 1 14 110 1 15 110 1 18 110 1 31 110 1 93 110 1 110 0 1 110 1 1 110 2 1 110 6 1 110 10 1 110 12 1 110 13 1 110 14 2 0 0
If number_images=1, the image could have been read at either of the timepoints. I want to keep number_images =1 but be able to distinguish those with readings at T1 or T2 only
if nmissT0=110 then the images was only read at T2 if nmissT2=110 then the images was only read at T0 if nmiss is <110, then the image was read at least for some features at one timepoint- not concerned with that part for this question
I would like to update number_images to have something like this but I know this won't work proc format; value n_imagf 1="1: V0 readings only" 1="1: V2 readings only" 2="2: V0, V2 readings"
What can I do instead so number of images still shows 1 and is numeric? if number_images=1 and nmissT0=110 then number_images=1??
Can anyone help?
Thanks, Maggie
... View more
I want to find the relative risk and risk difference and their corresponding 95% CIs to compare adverse events in a treatment group compared to a placebo group.
What 95% CI can handle zero counts using PROC FREQ (or a different procedure)? I was going to use Wald and Agresti-Caffo, respectively, but it looks like Wald can't handle zero counts and since we have a small sample size (n<10), perhaps that's not the best option in general...
... View more
I created a yes/no/missing format. It works when I apply it to a variable that I constructed in my syntax, but not to variables that were already present in the data file. Could the existing variables already have a format that is being retained? And if so, how do I override it?
The syntax below will produce a freq table for Any_cancer with 1:Yes, 2: No, Inapplicable/Missing, in that order. This is a constructed variable, and the output is being put into a table. So having it in the correct order is important.
The table for HLT_OCSTROKE shows 2, 1:Yes, Inapplicable/Missing, in that order. This is an existing variable in the data, and there are about 10 more that are doing the same thing.
I would add sample data, but I can't see how it would fail to run properly with new data. The only thing that makes sense is that the formatting is retained from the original data.
LIBNAME temp "C:\SAStemp";
proc format library=temp;
value yesfmt_r
1='1:Yes'
2='2:No'
.='Inapplicable/Missing'
.R='Inapplicable/Missing'
.D='Inapplicable/Missing'
.N='Inapplicable/Missing';
RUN;
DATA temp.want; SET temp.have;
FORMAT
Any_cancer YESFMT_r.
HLT_OCSTROKE YESFMT_r.;
RUN;
PROC FREQ data=temp.want; TABLES Any_cancer HLT_OCSTROKE / missing; RUN;
... View more
With the 2024.03 release of SAS Viya the sas-viya command-line interface is available for download in a container image. This new feature will be handy for automating SAS Viya administrative tasks. This is a topic I have addressed in the past where we built our own container image containing the sas-viya CLI. In this post, I will provide an overview of the new SAS-delivered sas-viya-cli container image and review how you can install it and use it to perform SAS Viya administration tasks.
... View more
I am using the SAS elarning courses in my institution course, and assigning as homework the Virtual lab-based demos and/or activities. I want the students to be able to save their final product work of an activity/demo and upload it in the dropbox of the brightspace D2L LMS.
Are there options that enable the user to do so? if so, what is the best/easiest option? Thanks.
Kaddour
... View more