<?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: Recoding multiple variables at once in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631919#M187267</link>
    <description>&lt;P&gt;Datalines&lt;/P&gt;
&lt;P&gt;ID P1 P2 P3 P4 ….&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; 0 &amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp; 0 &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;2 &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; 0 &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;3 &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 1&amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output&lt;/P&gt;
&lt;P&gt;ID P1 &amp;nbsp; P2&amp;nbsp; P3 P4&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;2 &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;
&lt;P&gt;3 &amp;nbsp;&amp;nbsp; 2 &amp;nbsp;&amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to code all "0" to 2&lt;/P&gt;
&lt;P&gt;As these are 15 vars like this. I don't want to use if multiple else statement&lt;/P&gt;</description>
    <pubDate>Fri, 13 Mar 2020 15:32:43 GMT</pubDate>
    <dc:creator>knargis160</dc:creator>
    <dc:date>2020-03-13T15:32:43Z</dc:date>
    <item>
      <title>Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631867#M187247</link>
      <description>&lt;P&gt;I want to code for multiple variables from level 0 to 2 at once. what is the best wat to do in SAS rather than using if-else statements?&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 14:04:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631867#M187247</guid>
      <dc:creator>knargis160</dc:creator>
      <dc:date>2020-03-13T14:04:05Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631868#M187248</link>
      <description>&lt;P&gt;You could use ARRAYs. Then you need only one if-then statement. But since you give us no information about your data set variable names, we can't provide any more details.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 14:07:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631868#M187248</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-03-13T14:07:04Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631869#M187249</link>
      <description>&lt;P&gt;Depends.. Can you be a bit more precise about the nature of your problem?&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 14:06:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631869#M187249</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-03-13T14:06:49Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631870#M187250</link>
      <description>Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/176514"&gt;@knargis160&lt;/a&gt;&lt;BR /&gt;You can use an array to perform the same operation on multiple variables:&lt;BR /&gt;&lt;BR /&gt;Data want;&lt;BR /&gt;Set have;&lt;BR /&gt;Array _arr(*) var1 var2 var3 ; &lt;BR /&gt;Do i=1 to dim(_arr);&lt;BR /&gt;If _arr(i)=0 then _arr(i)=2;&lt;BR /&gt;End;&lt;BR /&gt;Drop i;&lt;BR /&gt;Run;</description>
      <pubDate>Fri, 13 Mar 2020 14:08:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631870#M187250</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-03-13T14:08:24Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631881#M187253</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/176514"&gt;@knargis160&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I want to code for multiple variables from level 0 to 2 at once. what is the best wat to do in SAS rather than using if-else statements?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Another approach can be when you read the data from an external source. (informat and example data changed from first response)&lt;/P&gt;
&lt;PRE&gt;proc format library=work;
invalue changetwo
'0'=2
other=_same_
;
run;

data example;
   informat x y z changetwo.;
   input x y z;
datalines;
1 0 2
0 0 0
1 1 0;
&lt;/PRE&gt;
&lt;P&gt;A question though. Are you changing 0 to 2 because you have a dichotomous&amp;nbsp;variable that has 1 for 'Yes' 'True' 'Present' and 0 for 'No' 'False' 'Absent' or similar? You may want to strongly consider not doing so. It can require more code to get somethings done with 1/2 coding than with 1/0 coding.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Consider: if you SUM a 1/0 coded variable then the total is the number of observations or variables that were coded 1.&lt;/P&gt;
&lt;P&gt;The MEAN is the percentage of 1 values in decimal form.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 16:28:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631881#M187253</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-03-13T16:28:12Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631905#M187261</link>
      <description>&lt;P&gt;Method 1: Arrays&lt;/P&gt;
&lt;P&gt;Here's a tutorial on using Arrays in SAS&lt;BR /&gt;&lt;A href="https://stats.idre.ucla.edu/sas/seminars/sas-arrays/" target="_blank"&gt;https://stats.idre.ucla.edu/sas/seminars/sas-arrays/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you need further help please post example data and show what you want as output.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are instructions on how to provide sample data as a data step:&lt;BR /&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/176514"&gt;@knargis160&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I want to code for multiple variables from level 0 to 2 at once. what is the best wat to do in SAS rather than using if-else statements?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 15:20:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631905#M187261</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-03-13T15:20:45Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631908#M187263</link>
      <description>&lt;P&gt;It overwrites the same variable. Is there a way to create new variable (which is recoded) in array statement&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 15:22:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631908#M187263</guid>
      <dc:creator>knargis160</dc:creator>
      <dc:date>2020-03-13T15:22:51Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631909#M187264</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/176514"&gt;@knargis160&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;It overwrites the same variable. Is there a way to create new variable (which is recoded) in array statement&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Could you please explain the whole problem in sufficient detail (and by showing an example data set and by showing the desired output) that we can understand it? Then we might be able to provide code that meets your needs.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 15:30:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631909#M187264</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-03-13T15:30:11Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631919#M187267</link>
      <description>&lt;P&gt;Datalines&lt;/P&gt;
&lt;P&gt;ID P1 P2 P3 P4 ….&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; 0 &amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp; 0 &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;2 &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; 0 &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;3 &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 1&amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output&lt;/P&gt;
&lt;P&gt;ID P1 &amp;nbsp; P2&amp;nbsp; P3 P4&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;2 &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;
&lt;P&gt;3 &amp;nbsp;&amp;nbsp; 2 &amp;nbsp;&amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to code all "0" to 2&lt;/P&gt;
&lt;P&gt;As these are 15 vars like this. I don't want to use if multiple else statement&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 15:32:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631919#M187267</guid>
      <dc:creator>knargis160</dc:creator>
      <dc:date>2020-03-13T15:32:43Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631924#M187271</link>
      <description>What did you try that overwrites the variable would also help?&lt;BR /&gt;&lt;BR /&gt;Your output shows as it overwriting the original values, but you said that's not what you want above so please clarify.</description>
      <pubDate>Fri, 13 Mar 2020 15:36:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/631924#M187271</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-03-13T15:36:47Z</dc:date>
    </item>
    <item>
      <title>Re: Recoding multiple variables at once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/632123#M187376</link>
      <description>&lt;P&gt;HI&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/176514"&gt;@knargis160&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can do this to recode variables in new variables:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
	set have;
	array _arr(*) var1 var2 var3 /* Put the variable names */;
	array _new(3) ; /* Put the number of variables */
	do i=1 to dim(_arr);
		if _arr(i)=0 then _arr(i)=2;
	end;
	drop i;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Best,&lt;/P&gt;</description>
      <pubDate>Sat, 14 Mar 2020 08:25:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recoding-multiple-variables-at-once/m-p/632123#M187376</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-03-14T08:25:06Z</dc:date>
    </item>
  </channel>
</rss>

