<?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 Creating a new variable from existing in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152698#M40150</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I feel bad for having to ask for help since I've been trying to teach myself SAS 9.3 but I have run into an issue that I cannot solve the syntax of alone. I am trying to obtain all values of X where X &amp;lt; X - STD(X) without calculating SDT(X) separately and returning all values under that constant value but I think it is much more complicated than I have yet figured out. A simplified version of the code I am trying is displayed below. Thank you for anyone who helps I greatly appreciate it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data dataset1;&lt;/P&gt;&lt;P&gt;set dataset;&lt;/P&gt;&lt;P&gt;X1 = X &amp;lt; X-STD(X)&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The current error I am getting is that STD does not have enough arguments.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 21 Mar 2014 23:16:25 GMT</pubDate>
    <dc:creator>btklm</dc:creator>
    <dc:date>2014-03-21T23:16:25Z</dc:date>
    <item>
      <title>Creating a new variable from existing</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152698#M40150</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I feel bad for having to ask for help since I've been trying to teach myself SAS 9.3 but I have run into an issue that I cannot solve the syntax of alone. I am trying to obtain all values of X where X &amp;lt; X - STD(X) without calculating SDT(X) separately and returning all values under that constant value but I think it is much more complicated than I have yet figured out. A simplified version of the code I am trying is displayed below. Thank you for anyone who helps I greatly appreciate it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data dataset1;&lt;/P&gt;&lt;P&gt;set dataset;&lt;/P&gt;&lt;P&gt;X1 = X &amp;lt; X-STD(X)&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The current error I am getting is that STD does not have enough arguments.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Mar 2014 23:16:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152698#M40150</guid>
      <dc:creator>btklm</dc:creator>
      <dc:date>2014-03-21T23:16:25Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable from existing</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152699#M40151</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The STD function works on a single row of data, since SAS processes data row by row.&lt;/P&gt;&lt;P&gt;You'll have to pre-calculate the STD and merge it in. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, the translation for X1=X&amp;lt;X-STD(X) probably isn't what you want and doesn't make sense.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X&amp;lt;x-std(x) == x-x&amp;lt;-std(x)&amp;nbsp; == 0&amp;lt;-std(x) and std(x) is always positive.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The order of operations will probably mean that x&amp;lt;x will resolve to False or 0 and then subtract std(x) which isn't a valid calculation anyways. &lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;I thought I'd just explain why what you're trying won't work &lt;/SPAN&gt;&lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Mar 2014 23:43:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152699#M40151</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-03-21T23:43:50Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable from existing</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152700#M40152</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much, I was hoping there was a away to calculate it within SAS to save time but I guess not.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Mar 2014 00:37:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152700#M40152</guid>
      <dc:creator>btklm</dc:creator>
      <dc:date>2014-03-22T00:37:04Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable from existing</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152701#M40153</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your question doesn't make sense is my point, it would never evaluate to true. It's very easy to calculate STD within SAS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table want as&lt;/P&gt;&lt;P&gt;select a.*, std(weight) as std_weight, std(height) as std_height&lt;/P&gt;&lt;P&gt;from sashelp.class;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Mar 2014 16:48:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152701#M40153</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-03-22T16:48:29Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable from existing</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152702#M40154</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You might want to look at using SAS/IML (if you have it licensed) if you want to treat your data as if it was a matrix instead of individual observations.&lt;/P&gt;&lt;P&gt;SAS has many tools for calculating statistics like STD.&amp;nbsp; For example you can use PROC SUMMARY.&amp;nbsp; Or you can roll your own using PROC SQL.&lt;/P&gt;&lt;P&gt;But perhaps what you want is already available in a PROC?&amp;nbsp; Did you look at PROC STDIZE?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Mar 2014 18:06:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152702#M40154</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2014-03-22T18:06:25Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable from existing</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152703#M40155</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It looks like you want to flag the outliers. Here is how you could write a program do that using PROC SUMMARY to find the MEAN and STDDEV of your variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;* generate some random data for testing ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;data dataset ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; do _n_=1 to 10 ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x=rand('normal',5,10);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;* Find the mean and standard deviation ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;proc summary data=dataset ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; var x;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; output out=means(drop=_freq_ _type_) mean= std= /autoname ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;* Combine and create new LOWVALUE and HIVALUE boolean flag variables ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;data want ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; set dataset ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; if _n_=1 then set means ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; lowvalue =&amp;nbsp; x &amp;lt; x_mean - x_stddev ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; hivalue =&amp;nbsp; x &amp;gt; x_mean + x_stddev ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&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;&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; x_Std&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Obs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x_Mean&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dev&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lowvalue&amp;nbsp;&amp;nbsp;&amp;nbsp; hivalue&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15.2342&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 26.3757&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.6843&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -3.9084&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.8976&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -8.4245&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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; 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.2006&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16.1158&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.2483&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -2.4737&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.79499&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.7221&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;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Mar 2014 18:22:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Creating-a-new-variable-from-existing/m-p/152703#M40155</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2014-03-22T18:22:02Z</dc:date>
    </item>
  </channel>
</rss>

