<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
>
  <channel>
    <title>Chang ,JX</title>
    <link>http://peacelovekenzie.life-and-things.com/</link>
    <description>&Ntilde;&ETH;&deg;&Ntilde;&Ntilde;&ETH;&ordm;&ETH;&deg;&ETH;&middot; &ETH;&cedil; &Ntilde;&ETH;&middot;&Ntilde;&ETH;&ordm;</description>
    <language>zh-tw</language>    <item>
      <title>data management in household data</title>
      <link>http://peacelovekenzie.life-and-things.com/2008/09/17/data-management-in-household-data.html</link>
      <description>#stata
cd &#8220;c:data&#8221;
reserve
keep id itm* amt*
outsheet using &#8220;c:datainc95t.txt&#8221;,comma
restore

reserve
drop itm* amt*
outsheet using &#8220;c:datainc95o.txt&#8221;,comma
restore

#sas
dm&#8217;log;clear;output;clear;&#8217;;
OPTIONS noncenter;
/* retain itm amt */
proc import datafile=&#8221;c:datainc95.txt&#8221; out=mydata dbms=dlm replace;
delimiter=&#8221;,&#8221;;
getnames=yes;
run;
/* retain characteristics of household */
proc import datafile=&#8221;c:datainc95o.txt&#8221; out=inc95 dbms=dlm replace;
delimiter=&#8221;,&#8221;;
getnames=yes;
run;
/* select some variable from inc951 */
data inc951;
set inc95;
keep id a1 a4 a5 a6 a7 a11;
run;
/* transpose wide to longĀ  itm */
proc transpose data=mydata out=longf prefix=itm ;
by id;
var itm1-itm218;
run;
/* transpose wide to longĀ  amt */
proc transpose data=mydata out=longs prefix=amt ;
by id;
var amt1-amt218;
run;
/* merge data */
data long2;
merge longf (rename=(itm1=itm) drop=_name_) longs (rename=(amt1=amt));
by id;
drop drop _name_;
run;
/* select amt from merged data */
data long;
set long2;
where(itm=400);
itm400=itm;
where(itm=401);
itm401=itm;
run;
/*
proc transpose data=long2 out=wides prefix=itm;
by id;
id itm;
var amt;
run;
data wides2;
set wides;
keep itm100-itm150;
run;
DATA auto2;
SET auto;
IF (rep78 &lt;= 3) AND (rep78 ^= .);
run;
*/
/* merge inc95 andĀ  amt data */
proc sql;
create table iinc95 as
select *
from long ,inc951
where long.id=inc951.id
order by inc951.id;
quit;
proc print data=iinc95(obs=15);
run;
/* transpose wide to long */
http://www.ats.ucla.edu/stat/sas/modules/wtol_transpose.htm
/*transpose long to wide*/
http://www.ats.ucla.edu/stat/sas/modules/ltow_transpose.htm
/*merge data by sql */
http://www.ats.ucla.edu/stat/sas/modules/sqlmerge.htm
</description>
      <pubDate>Wed, 17 Sep 2008 23:50:19 -0400</pubDate>
      <dc:creator>peacelovekenzie</dc:creator>
    </item></channel></rss>