<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Transposing wide data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688792#M209335</link>
    <description>&lt;P&gt;Add the additional characters that need to be replaced to the TRANSLATE function.&lt;/P&gt;</description>
    <pubDate>Sun, 04 Oct 2020 20:46:39 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2020-10-04T20:46:39Z</dc:date>
    <item>
      <title>Transposing wide data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688781#M209327</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I have several values under the variable Comorbidities per unique studyid. I'd like to create new dummy variables for each comorbidity listed.&lt;/P&gt;&lt;P&gt;Data have;&lt;/P&gt;&lt;P&gt;Studyid &amp;nbsp; Comorbidities&lt;/P&gt;&lt;P&gt;678 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; smoker, alcohol use disorder&lt;/P&gt;&lt;P&gt;679 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current smoker&lt;/P&gt;&lt;P&gt;680 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hypertension, diabetes mellitus&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;studyid &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Smoker &amp;nbsp; Alcohol_use_disorder &amp;nbsp; Hypertension Diabetes_Mellitus&lt;/P&gt;&lt;P&gt;678 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;679 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;680 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;</description>
      <pubDate>Sun, 04 Oct 2020 18:57:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688781#M209327</guid>
      <dc:creator>stancemcgraw</dc:creator>
      <dc:date>2020-10-04T18:57:59Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing wide data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688783#M209328</link>
      <description>&lt;P&gt;First, dissect the string:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data long;
set have;
length comorbidity $50;
value = 1;
do i = 1 to countw(comorbidities,',');
  comorbidity = translate(strip(scan(comorbidities,i,',')),'_',' ');
  output;
end;
drop i comorbidities;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Then you can transpose that (although I recommend to keep the long dataset, as it is easier to work with):&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc transpose
  data=long
  out=want (dropy=_name_)
;
by studyid;
id comorbidity;
var value;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Untested, posted from my tablet.&lt;/P&gt;</description>
      <pubDate>Sun, 04 Oct 2020 19:16:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688783#M209328</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-10-04T19:16:34Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing wide data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688791#M209334</link>
      <description>So now it gives me soooo many different iterations of the same thing. This makes it so that any comorbidity that is cut-off now becomes its own variable.&lt;BR /&gt;&lt;BR /&gt;for example, when I proc freq comorbidites, mental/personaliy disorder, for example now has :&lt;BR /&gt;mental&lt;BR /&gt;mental/&lt;BR /&gt;mental/personalit&lt;BR /&gt;mental/personality&lt;BR /&gt;mental/personality_diso&lt;BR /&gt;And now, each of those become a variable, when those should all be the same variable....</description>
      <pubDate>Sun, 04 Oct 2020 20:27:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688791#M209334</guid>
      <dc:creator>stancemcgraw</dc:creator>
      <dc:date>2020-10-04T20:27:44Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing wide data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688792#M209335</link>
      <description>&lt;P&gt;Add the additional characters that need to be replaced to the TRANSLATE function.&lt;/P&gt;</description>
      <pubDate>Sun, 04 Oct 2020 20:46:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688792#M209335</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-10-04T20:46:39Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing wide data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688815#M209347</link>
      <description>I think this is identical to a previous question you asked recently...&lt;BR /&gt;&lt;BR /&gt;Given that diseases aren't coded cleanly, I'd definitely recommending using the dynamic approach instead. &lt;BR /&gt;&lt;BR /&gt;1. Separate out terms into individual rows (data step)&lt;BR /&gt;2. Clean them up here for the issues mentioned in your second post. &lt;BR /&gt;3. Add an indicator variable to get the 1&lt;BR /&gt;4. Flip the clean version wide using PROC TRANSPOSE</description>
      <pubDate>Mon, 05 Oct 2020 01:45:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-wide-data/m-p/688815#M209347</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-10-05T01:45:08Z</dc:date>
    </item>
  </channel>
</rss>

