<?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: append text to words in a string in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42489#M8707</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your reply.&amp;nbsp; Yes, I know that the Autoname feature does that.&amp;nbsp; What I'm doing is writing a macro that computes some group-level metrics (e.g., coefficient of variance, GINI coefficient), using Proc Means.&amp;nbsp; The user specifies the variables, and the script generates a the list that becomes part of the Proc Means var statement.&amp;nbsp; The computations are done with arrays in a data set, and the array elements need to be generated prior to that step.&amp;nbsp; For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%MACRO partner (data=, groupid=, vars=);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %*count the number of variables in the list;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %let items = %sysfunc(countw(&amp;amp;vars));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %*the following creates the array variables in the data steps that follow;&lt;/P&gt;&lt;P&gt;%let meanlist=%sysfunc( prxchange(s/(\w+)/$1_Mean/, -1, &amp;amp;vars) );&lt;/P&gt;&lt;P&gt;%let sdlist=%sysfunc( prxchange(s/(\w+)/$1_StdDev/, -1, &amp;amp;vars) );&lt;/P&gt;&lt;P&gt;%let cvlist=%sysfunc( prxchange(s/(\w+)/$1_CV/, -1, &amp;amp;vars) );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%* Gets group-level estimates;&lt;/P&gt;&lt;P&gt;proc means noprint data=&amp;amp;data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by &amp;amp;groupid;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var &amp;amp;vars;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output out=sums std(&amp;amp;vars) =&amp;nbsp; mean(&amp;amp;vars) =&amp;nbsp; sum(&amp;amp;vars)= uss(&amp;amp;vars)= /autoname;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %* Computes the relevant statistics at the group level of analysis;&lt;/P&gt;&lt;P&gt;data group_stats;&lt;/P&gt;&lt;P&gt;set sums;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array means(*) &amp;amp;meanlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array sds(*) &amp;amp;sdlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array cvs(*) &amp;amp;cvlist;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do i = 1 to dim(cvs);&lt;/P&gt;&lt;P&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; cvs&lt;I&gt; = sds&lt;I&gt;/means&lt;I&gt;;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;&lt;P&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; groupsize = _FREQ_;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop i _TYPE_ _FREQ_;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print; &lt;/P&gt;&lt;P&gt;var groupsize &amp;amp;cvlist &amp;amp;meanlist &amp;amp;sdlist;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Works well, or at least well enough for my purposes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Mar 2012 22:48:36 GMT</pubDate>
    <dc:creator>jbonito</dc:creator>
    <dc:date>2012-03-28T22:48:36Z</dc:date>
    <item>
      <title>append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42483#M8701</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have string variable which is an input to a macro.&amp;nbsp; It's a variable list that looks like so: (var1 var2 var3).&amp;nbsp; I need to create another string variable that appends text to each of those variable names, for example (var1_mean var2_mean var3_mean).&amp;nbsp; Seems I should be able to make a version of the following work, but not having success with the concatenating:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vars=(var1 var2 var3);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let meanlist =;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let items = %sysfunc(countw(&amp;amp;vars));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %do i = 1 %to &amp;amp;items; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;%let word = %qscan(&amp;amp;vars,&amp;amp;i,%str( ));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let meantemp = input ("&amp;amp;word._Mean", 8.1);&lt;/P&gt;&lt;P&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;%let &amp;amp;meanlist = input ("&amp;amp;meanlist.&amp;amp;meantemp",8.1); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%end;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's that last %let statement that's not working.&amp;nbsp; SAS says the equals sign is out of order.&amp;nbsp; Thanks in advance for your help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 24 Mar 2012 23:14:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42483#M8701</guid>
      <dc:creator>jbonito</dc:creator>
      <dc:date>2012-03-24T23:14:55Z</dc:date>
    </item>
    <item>
      <title>append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42484#M8702</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can't test it at the moment but, rather than:&lt;/P&gt;&lt;P style="background-color: #eef4f9;"&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; %let &amp;amp;meanlist = input ("&amp;amp;meanlist.&amp;amp;meantemp",8.1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;have you tried it with: &lt;/P&gt;&lt;P style="background-color: #eef4f9;"&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; %let meanlist = input ("&amp;amp;meanlist.&amp;amp;meantemp",8.1);&lt;/P&gt;&lt;P style="background-color: #eef4f9; min-height: 8pt; height: 8pt;"&gt; ???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i.e., leave off the &amp;amp; right after let.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 25 Mar 2012 00:15:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42484#M8702</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-03-25T00:15:18Z</dc:date>
    </item>
    <item>
      <title>append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42485#M8703</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another way of doing it:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV class="mcePaste" id="_mcePaste" style="position: absolute; width: 1px; height: 1px; overflow: hidden; top: 0px; left: -10000px;"&gt;﻿%let vars=(var1 var2 var3);&lt;BR /&gt;%let meanlist=%sysfunc( prxchange(s/(\w+)/$1_mean/, -1, &amp;amp;vars));&lt;BR /&gt;%put meanlist= &amp;amp;meanlist;&lt;/DIV&gt;&lt;P&gt;%let vars=(var1 var2 var3);&lt;BR /&gt;%let meanlist=%sysfunc( prxchange(s/(\w+)/$1_mean/, -1, &amp;amp;vars) );&lt;BR /&gt;%put meanlist= &amp;amp;meanlist;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 25 Mar 2012 00:41:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42485#M8703</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2012-03-25T00:41:53Z</dc:date>
    </item>
    <item>
      <title>append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42486#M8704</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Patrick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That's it!&amp;nbsp; I had no idea SAS supported regular expression matching/searching.&amp;nbsp; Very cool. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And thanks for your reply, Art.&amp;nbsp; I did try that, though to no avail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 25 Mar 2012 01:30:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42486#M8704</guid>
      <dc:creator>jbonito</dc:creator>
      <dc:date>2012-03-25T01:30:38Z</dc:date>
    </item>
    <item>
      <title>Re: append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42487#M8705</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Based on your description of the problem you just need to loop over the words in the string. &lt;/P&gt;&lt;P&gt;Not sure why your list has () around it, but you can add that back at the end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;%let vars=(var1 var2 var3);&lt;/P&gt;&lt;P&gt;%let meanlist =;&lt;/P&gt;&lt;P&gt;%do i = 1 %to &lt;SPAN style="font-family: monospace; white-space: pre; background-color: #ffffff;"&gt;%sysfunc(countw(&amp;amp;vars,( )));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; %let meanlist=&amp;amp;meanlist %scan(&amp;amp;vars,&amp;amp;i,( ))_mean;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;%let meanlist=(&amp;amp;meanlist);&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 25 Mar 2012 02:02:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42487#M8705</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2012-03-25T02:02:55Z</dc:date>
    </item>
    <item>
      <title>append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42488#M8706</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know what the intended usage is, but if it's to generate suitable variable names in PROC MEANS, the OUTPUT statement's AUTONAME option does this for you.&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;&lt;P&gt;jbonito wrote:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have string variable which is an input to a macro.&amp;nbsp; It's a variable list that looks like so: (var1 var2 var3).&amp;nbsp; I need to create another string variable that appends text to each of those variable names, for example (var1_mean var2_mean var3_mean).&amp;nbsp; Seems I should be able to make a version of the following work, but not having success with the concatenating:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vars=(var1 var2 var3);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let meanlist =;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let items = %sysfunc(countw(&amp;amp;vars));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %do i = 1 %to &amp;amp;items; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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; %let word = %qscan(&amp;amp;vars,&amp;amp;i,%str( ));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let meantemp = input ("&amp;amp;word._Mean", 8.1);&lt;/P&gt;&lt;P&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; %let &amp;amp;meanlist = input ("&amp;amp;meanlist.&amp;amp;meantemp",8.1); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%end;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's that last %let statement that's not working.&amp;nbsp; SAS says the equals sign is out of order.&amp;nbsp; Thanks in advance for your help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2012 22:01:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42488#M8706</guid>
      <dc:creator>Howles</dc:creator>
      <dc:date>2012-03-28T22:01:21Z</dc:date>
    </item>
    <item>
      <title>Re: append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42489#M8707</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your reply.&amp;nbsp; Yes, I know that the Autoname feature does that.&amp;nbsp; What I'm doing is writing a macro that computes some group-level metrics (e.g., coefficient of variance, GINI coefficient), using Proc Means.&amp;nbsp; The user specifies the variables, and the script generates a the list that becomes part of the Proc Means var statement.&amp;nbsp; The computations are done with arrays in a data set, and the array elements need to be generated prior to that step.&amp;nbsp; For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%MACRO partner (data=, groupid=, vars=);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %*count the number of variables in the list;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %let items = %sysfunc(countw(&amp;amp;vars));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %*the following creates the array variables in the data steps that follow;&lt;/P&gt;&lt;P&gt;%let meanlist=%sysfunc( prxchange(s/(\w+)/$1_Mean/, -1, &amp;amp;vars) );&lt;/P&gt;&lt;P&gt;%let sdlist=%sysfunc( prxchange(s/(\w+)/$1_StdDev/, -1, &amp;amp;vars) );&lt;/P&gt;&lt;P&gt;%let cvlist=%sysfunc( prxchange(s/(\w+)/$1_CV/, -1, &amp;amp;vars) );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%* Gets group-level estimates;&lt;/P&gt;&lt;P&gt;proc means noprint data=&amp;amp;data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by &amp;amp;groupid;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var &amp;amp;vars;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output out=sums std(&amp;amp;vars) =&amp;nbsp; mean(&amp;amp;vars) =&amp;nbsp; sum(&amp;amp;vars)= uss(&amp;amp;vars)= /autoname;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; %* Computes the relevant statistics at the group level of analysis;&lt;/P&gt;&lt;P&gt;data group_stats;&lt;/P&gt;&lt;P&gt;set sums;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array means(*) &amp;amp;meanlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array sds(*) &amp;amp;sdlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array cvs(*) &amp;amp;cvlist;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do i = 1 to dim(cvs);&lt;/P&gt;&lt;P&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; cvs&lt;I&gt; = sds&lt;I&gt;/means&lt;I&gt;;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;&lt;P&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; groupsize = _FREQ_;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop i _TYPE_ _FREQ_;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print; &lt;/P&gt;&lt;P&gt;var groupsize &amp;amp;cvlist &amp;amp;meanlist &amp;amp;sdlist;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Works well, or at least well enough for my purposes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2012 22:48:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42489#M8707</guid>
      <dc:creator>jbonito</dc:creator>
      <dc:date>2012-03-28T22:48:36Z</dc:date>
    </item>
    <item>
      <title>Re: append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42490#M8708</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know why you code it to calculate CV ?&lt;/P&gt;&lt;P&gt;proc means has ability to get it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;proc means data=sashelp.class noprint nway;
class sex;
var weight;
output out=x cv= /autoname;run;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Mar 2012 06:16:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42490#M8708</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-03-29T06:16:36Z</dc:date>
    </item>
    <item>
      <title>Re: append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42491#M8709</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your reply.&amp;nbsp; I have other things to calculate, including CV adjusted for group size (Bedeian, 2000), and the Smithson (1982) correction, which is the ratio of observed variation to maximum variation.&amp;nbsp; Easier to keep things in a data step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Mar 2012 21:00:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42491#M8709</guid>
      <dc:creator>jbonito</dc:creator>
      <dc:date>2012-03-29T21:00:56Z</dc:date>
    </item>
    <item>
      <title>Re: append text to words in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42492#M8710</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am not that experienced with /autoname option on the OUTPUT statement.&lt;/P&gt;&lt;P&gt;Wouldn't you insure compatibility with your data step if you used your variable lists to tell PROC MEANS what names to give the calculated statistics? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P style="background-color: #eef4f9;"&gt;proc means noprint data=&amp;amp;data;&lt;/P&gt;&lt;P style="background-color: #eef4f9;"&gt;&amp;nbsp; by &amp;amp;groupid;&lt;/P&gt;&lt;P style="background-color: #eef4f9;"&gt;&amp;nbsp; var &amp;amp;vars;&lt;/P&gt;&lt;P style="background-color: #eef4f9;"&gt;&amp;nbsp; output out=sums std=&amp;amp;sdlist&amp;nbsp; mean=&amp;amp;meanlist&amp;nbsp; sum=&amp;amp;sumlist uss=&amp;amp;usslist ;&lt;/P&gt;&lt;P style="background-color: #eef4f9;"&gt;run;&lt;/P&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Mar 2012 22:09:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/append-text-to-words-in-a-string/m-p/42492#M8710</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2012-03-29T22:09:01Z</dc:date>
    </item>
  </channel>
</rss>

