<?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 variable that contains values that are computed within clusters in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-variable-that-contains-values-that-are-computed/m-p/120056#M33062</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to add a variable to my data to do some analyses but I am not sure how to do it.&lt;/P&gt;&lt;P&gt;The additional variable I need is the interval time between sessions.&lt;/P&gt;&lt;P&gt;The tricky part is that I have nested data (level 1=episode, level 2=task, &amp;amp; level 3=ID) and I need to compute the interval time within the smallest cluster (between episodes).&lt;/P&gt;&lt;P&gt;I guess it will be best to show my data I have and then try to explain how I want the data format to be.&lt;/P&gt;&lt;P&gt;Here is part of my data (have).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input ID $ task episode Session;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1 1 4 14.31&lt;/P&gt;&lt;P&gt;1 1 6 40.51&lt;/P&gt;&lt;P&gt;1 2 3 7.09&lt;/P&gt;&lt;P&gt;1 2 5 14.69&lt;/P&gt;&lt;P&gt;1 2 10 61.23&lt;/P&gt;&lt;P&gt;1 2 14 137.16&lt;/P&gt;&lt;P&gt;1 2 16 160.66&lt;/P&gt;&lt;P&gt;1 2 20 200.93&lt;/P&gt;&lt;P&gt;1 2 22 236.07&lt;/P&gt;&lt;P&gt;1 2 29 330.68&lt;/P&gt;&lt;P&gt;1 2 33 380.67&lt;/P&gt;&lt;P&gt;1 2 37 435.19&lt;/P&gt;&lt;P&gt;1 3 17 113.78&lt;/P&gt;&lt;P&gt;1 3 29 273.77&lt;/P&gt;&lt;P&gt;1 4 3 11.09&lt;/P&gt;&lt;P&gt;1 4 7 142.75&lt;/P&gt;&lt;P&gt;1 4 11 173.65&lt;/P&gt;&lt;P&gt;1 4 43 645.13&lt;/P&gt;&lt;P&gt;2 1 4 66.38&lt;/P&gt;&lt;P&gt;2 1 6 93.22&lt;/P&gt;&lt;P&gt;2 1 8 105.6&lt;/P&gt;&lt;P&gt;2 2 15 121.76&lt;/P&gt;&lt;P&gt;2 2 24 168.51&lt;/P&gt;&lt;P&gt;2 2 28 196.26&lt;/P&gt;&lt;P&gt;2 2 32 216.11&lt;/P&gt;&lt;P&gt;2 2 34 247.21&lt;/P&gt;&lt;P&gt;2 2 38 317.76&lt;/P&gt;&lt;P&gt;2 2 42 347.82&lt;/P&gt;&lt;P&gt;2 2 50 460.93&lt;/P&gt;&lt;P&gt;2 2 52 463.93&lt;/P&gt;&lt;P&gt;2 2 56 528.77&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So what I want to do is create a variable called "Interval" which contains the difference between &lt;EM&gt;Sessions&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;Note that I want to compute the Interval WITHIN the &lt;EM&gt;tasks&lt;/EM&gt;. &lt;/P&gt;&lt;P&gt;It is difficult for me to clearly say what I want, so let me show you the final data set (&lt;EM&gt;want&lt;/EM&gt;) that I have in my mind with the &lt;EM&gt;have&lt;/EM&gt; data above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID task episode Session Interval&lt;/P&gt;&lt;P&gt;1 1 4 14.31 NA&lt;/P&gt;&lt;P&gt;1 1 6 40.51 (40.51-14.31)&lt;/P&gt;&lt;P&gt;1 2 3 7.09 NA&lt;/P&gt;&lt;P&gt;1 2 5 14.69 (14.69-7.09)&lt;/P&gt;&lt;P&gt;1 2 10 61.23 (61.23-14.69)&lt;/P&gt;&lt;P&gt;1 2 14 137.16 (137.16-61.23)&lt;/P&gt;&lt;P&gt;1 2 16 160.66 …&lt;/P&gt;&lt;P&gt;1 2 20 200.93 …&lt;/P&gt;&lt;P&gt;1 2 22 236.07 …&lt;/P&gt;&lt;P&gt;1 2 29 330.68 …&lt;/P&gt;&lt;P&gt;1 2 33 380.67 …&lt;/P&gt;&lt;P&gt;1 2 37 435.19 …&lt;/P&gt;&lt;P&gt;1 3 17 113.78 NA&lt;/P&gt;&lt;P&gt;1 3 29 273.77 (273.77-113.78)&lt;/P&gt;&lt;P&gt;1 4 3 11.09 NA&lt;/P&gt;&lt;P&gt;1 4 7 142.75 (142.75-11.09)&lt;/P&gt;&lt;P&gt;1 4 11 173.65 (173.65-142.75)&lt;/P&gt;&lt;P&gt;1 4 43 645.13 (645.13-173.65)&lt;/P&gt;&lt;P&gt;2 1 4 66.38 NA&lt;/P&gt;&lt;P&gt;2 1 6 93.22 (93.22-66.38)&lt;/P&gt;&lt;P&gt;2 1 8 105.6 (105.6-93.22)&lt;/P&gt;&lt;P&gt;2 2 15 121.76 NA&lt;/P&gt;&lt;P&gt;2 2 24 168.51 (168.51-121.76)&lt;/P&gt;&lt;P&gt;2 2 28 196.26 (196.26-168.51)&lt;/P&gt;&lt;P&gt;2 2 32 216.11 …&lt;/P&gt;&lt;P&gt;2 2 34 247.21 …&lt;/P&gt;&lt;P&gt;2 2 38 317.76 …&lt;/P&gt;&lt;P&gt;2 2 42 347.82 …&lt;/P&gt;&lt;P&gt;2 2 50 460.93 …&lt;/P&gt;&lt;P&gt;2 2 52 463.93 …&lt;/P&gt;&lt;P&gt;2 2 56 528.77 …&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that for the variable Interval, I have put in the calculations but I want the actual value in the parenthesis.&lt;/P&gt;&lt;P&gt;I have put in "NA" (it doesn't have to be NA, it can/should be any number) for the first &lt;EM&gt;episode&lt;/EM&gt; in a &lt;EM&gt;task&lt;/EM&gt; since it does not have a preceding &lt;EM&gt;episode&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;I have also omitted some values of &lt;EM&gt;Interval&lt;/EM&gt; by "..." to be abstract.&lt;/P&gt;&lt;P&gt;Again, note that there should be no negative values for &lt;EM&gt;Interval &lt;/EM&gt;because I am computing the Interval time within a task.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for any help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hanjoe.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Nov 2012 21:57:08 GMT</pubDate>
    <dc:creator>HanJoeKim</dc:creator>
    <dc:date>2012-11-07T21:57:08Z</dc:date>
    <item>
      <title>Creating a variable that contains values that are computed within clusters</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-variable-that-contains-values-that-are-computed/m-p/120056#M33062</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to add a variable to my data to do some analyses but I am not sure how to do it.&lt;/P&gt;&lt;P&gt;The additional variable I need is the interval time between sessions.&lt;/P&gt;&lt;P&gt;The tricky part is that I have nested data (level 1=episode, level 2=task, &amp;amp; level 3=ID) and I need to compute the interval time within the smallest cluster (between episodes).&lt;/P&gt;&lt;P&gt;I guess it will be best to show my data I have and then try to explain how I want the data format to be.&lt;/P&gt;&lt;P&gt;Here is part of my data (have).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input ID $ task episode Session;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1 1 4 14.31&lt;/P&gt;&lt;P&gt;1 1 6 40.51&lt;/P&gt;&lt;P&gt;1 2 3 7.09&lt;/P&gt;&lt;P&gt;1 2 5 14.69&lt;/P&gt;&lt;P&gt;1 2 10 61.23&lt;/P&gt;&lt;P&gt;1 2 14 137.16&lt;/P&gt;&lt;P&gt;1 2 16 160.66&lt;/P&gt;&lt;P&gt;1 2 20 200.93&lt;/P&gt;&lt;P&gt;1 2 22 236.07&lt;/P&gt;&lt;P&gt;1 2 29 330.68&lt;/P&gt;&lt;P&gt;1 2 33 380.67&lt;/P&gt;&lt;P&gt;1 2 37 435.19&lt;/P&gt;&lt;P&gt;1 3 17 113.78&lt;/P&gt;&lt;P&gt;1 3 29 273.77&lt;/P&gt;&lt;P&gt;1 4 3 11.09&lt;/P&gt;&lt;P&gt;1 4 7 142.75&lt;/P&gt;&lt;P&gt;1 4 11 173.65&lt;/P&gt;&lt;P&gt;1 4 43 645.13&lt;/P&gt;&lt;P&gt;2 1 4 66.38&lt;/P&gt;&lt;P&gt;2 1 6 93.22&lt;/P&gt;&lt;P&gt;2 1 8 105.6&lt;/P&gt;&lt;P&gt;2 2 15 121.76&lt;/P&gt;&lt;P&gt;2 2 24 168.51&lt;/P&gt;&lt;P&gt;2 2 28 196.26&lt;/P&gt;&lt;P&gt;2 2 32 216.11&lt;/P&gt;&lt;P&gt;2 2 34 247.21&lt;/P&gt;&lt;P&gt;2 2 38 317.76&lt;/P&gt;&lt;P&gt;2 2 42 347.82&lt;/P&gt;&lt;P&gt;2 2 50 460.93&lt;/P&gt;&lt;P&gt;2 2 52 463.93&lt;/P&gt;&lt;P&gt;2 2 56 528.77&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So what I want to do is create a variable called "Interval" which contains the difference between &lt;EM&gt;Sessions&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;Note that I want to compute the Interval WITHIN the &lt;EM&gt;tasks&lt;/EM&gt;. &lt;/P&gt;&lt;P&gt;It is difficult for me to clearly say what I want, so let me show you the final data set (&lt;EM&gt;want&lt;/EM&gt;) that I have in my mind with the &lt;EM&gt;have&lt;/EM&gt; data above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID task episode Session Interval&lt;/P&gt;&lt;P&gt;1 1 4 14.31 NA&lt;/P&gt;&lt;P&gt;1 1 6 40.51 (40.51-14.31)&lt;/P&gt;&lt;P&gt;1 2 3 7.09 NA&lt;/P&gt;&lt;P&gt;1 2 5 14.69 (14.69-7.09)&lt;/P&gt;&lt;P&gt;1 2 10 61.23 (61.23-14.69)&lt;/P&gt;&lt;P&gt;1 2 14 137.16 (137.16-61.23)&lt;/P&gt;&lt;P&gt;1 2 16 160.66 …&lt;/P&gt;&lt;P&gt;1 2 20 200.93 …&lt;/P&gt;&lt;P&gt;1 2 22 236.07 …&lt;/P&gt;&lt;P&gt;1 2 29 330.68 …&lt;/P&gt;&lt;P&gt;1 2 33 380.67 …&lt;/P&gt;&lt;P&gt;1 2 37 435.19 …&lt;/P&gt;&lt;P&gt;1 3 17 113.78 NA&lt;/P&gt;&lt;P&gt;1 3 29 273.77 (273.77-113.78)&lt;/P&gt;&lt;P&gt;1 4 3 11.09 NA&lt;/P&gt;&lt;P&gt;1 4 7 142.75 (142.75-11.09)&lt;/P&gt;&lt;P&gt;1 4 11 173.65 (173.65-142.75)&lt;/P&gt;&lt;P&gt;1 4 43 645.13 (645.13-173.65)&lt;/P&gt;&lt;P&gt;2 1 4 66.38 NA&lt;/P&gt;&lt;P&gt;2 1 6 93.22 (93.22-66.38)&lt;/P&gt;&lt;P&gt;2 1 8 105.6 (105.6-93.22)&lt;/P&gt;&lt;P&gt;2 2 15 121.76 NA&lt;/P&gt;&lt;P&gt;2 2 24 168.51 (168.51-121.76)&lt;/P&gt;&lt;P&gt;2 2 28 196.26 (196.26-168.51)&lt;/P&gt;&lt;P&gt;2 2 32 216.11 …&lt;/P&gt;&lt;P&gt;2 2 34 247.21 …&lt;/P&gt;&lt;P&gt;2 2 38 317.76 …&lt;/P&gt;&lt;P&gt;2 2 42 347.82 …&lt;/P&gt;&lt;P&gt;2 2 50 460.93 …&lt;/P&gt;&lt;P&gt;2 2 52 463.93 …&lt;/P&gt;&lt;P&gt;2 2 56 528.77 …&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that for the variable Interval, I have put in the calculations but I want the actual value in the parenthesis.&lt;/P&gt;&lt;P&gt;I have put in "NA" (it doesn't have to be NA, it can/should be any number) for the first &lt;EM&gt;episode&lt;/EM&gt; in a &lt;EM&gt;task&lt;/EM&gt; since it does not have a preceding &lt;EM&gt;episode&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;I have also omitted some values of &lt;EM&gt;Interval&lt;/EM&gt; by "..." to be abstract.&lt;/P&gt;&lt;P&gt;Again, note that there should be no negative values for &lt;EM&gt;Interval &lt;/EM&gt;because I am computing the Interval time within a task.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for any help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hanjoe.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2012 21:57:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Creating-a-variable-that-contains-values-that-are-computed/m-p/120056#M33062</guid>
      <dc:creator>HanJoeKim</dc:creator>
      <dc:date>2012-11-07T21:57:08Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a variable that contains values that are computed within clusters</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Creating-a-variable-that-contains-values-that-are-computed/m-p/120057#M33063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by id task ;&lt;/P&gt;&lt;P&gt;interval=ifn(first.task,.,dif(session));&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2012 22:31:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Creating-a-variable-that-contains-values-that-are-computed/m-p/120057#M33063</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-11-07T22:31:12Z</dc:date>
    </item>
  </channel>
</rss>

