mySQL
Posted by changjx on December 25, 2008
/* IMPORT DATA CSV*/
PROC IMPORT DATAFILE=”C:\DATA\STATADASE17\HOSP17.CSV”
OUT=MYDATA DBMS=CSV REPLACE;
GETNAMES=YES;
RUN;
/*OUTPUT DATA CSV*/
PROC EXPORT DATA=NEW
OUTFILE=’c:\Data\NEW.csv’;
/*CREATE NEW TABLE ORDER BY*/
PROC SQL;
CREATE TABLE NEW AS
SELECT* FROM MYDATA,IDX
WHERE PRSN INV
ORDER BY TAG;
QUIT;
/*USE CASE WHEN TO
GREATE NEW VARIABLES*/
PROC SQL;
CREATE TABLE NEW AS
SELECT * ,
CASE
WHEN PRSN LT 10 THEN ‘ZOO’
WHEN PRSN GE 10 THEN ‘BZOO’
END AS PD,
CASE
WHEN PRSN BETWEEN 1 AND 20 THEN ‘GOOD’
WHEN PRSN BETWEEN 21 AND 30 THEN ‘GOODT’
ELSE ‘NOT_BAD’
END AS DPI
FROM MYDATA;
QUIT;
/*USE IN / NOT IN*/
PROC SQL;
CREATE TABLE NEW AS
SELECT * FROM MYDATA
WHERE PRSN NOT IN
(8,11,14,18,24,27,28,44,47,50,
52,56,57,61,62,64,65,78,80,91,
100,109,110,114,117,
124,126,132,
133,136,138,
143,145,148,
150,155,157,
160,164,166,167,
170,173,175,176,178,179,
180,181,183,184,185,186)
;
QUIT;
/*IN STATA*/
drop if inlist(prsn,8,11,186)
/*R*/
indx=c(8,11,14,18,24,27,28,44,47,50,
52,56,57,61,62,64,65,78,80,91,
100,109,110,114,117,
124,126,132,
133,136,138,
143,145,148,
150,155,157,
160,164,166,167,
170,173,175,176,178,179,
180,181,183,184,185,186)
two=one[!one$PRSN%in%indx,]
/* USE EXCEPT IF TWO TABLES HAVE SAME COLS*/
DATA INDX;
INPUT PRSN @@;
CARDS;
2 3 4 5
7 8 10 12
14 15 19
31 84 92
;
QUIT;
PROC SQL;
CREATE TABLE NEW AS
SELECT PRSN FROM MYDATA
EXCEPT
SELECT PRSN FROM INDX;
QUIT;
PROC PRINT DATA=NEW(OBS=20);
VAR PRSN;
RUN;