1、日期計算
dataage;
infile
'e:/11/6/tomdate.dat';
input
@1randdate
mmddyy10.
@12brthdate
mmddyy10.
@23date12
mmddyy10.;
agedays =randdate - brthdate ;
ageyrs = (randdate - brthdate)/365.25;
ageint = int( (randdate - brthdate)/365.25);
agetoday=(today() - brthdate)/365.25;
ageendst= (mdy(02,28,1992)- brthdate)/365.25;
daysv12 =date12 - randdate;
ifabs(daysv12 -365) =.
then
window12 =.;
else if
abs(daysv12 -365) <31then
window12 =1;
else if
abs(daysv12 -365) >=31then
window12 =2;
yrrand =year(randdate);
format
randdate
mmddyy10.
format brthdate
mmddyy10.
format date12
mmddyy10.
run;
2、字串拼接
datanames;
infile
datalines
dsd;
informat
fname
$20.
lname
$20.
mi$1.;
input
lname fname mi ;
length
fnamemix
$20.
lnamemix
$20.
fullname
$44.;
* 從name
中抽取第乙個字元,然後接上從第二個字元開始的所有的字元的小寫;
fnamemix = substr(fname,1,1) || lowcase(substr(fname,2));
lnamemix = substr(lname,1,1) || lowcase(substr(lname,2));
* 連線
3個名字,並刪除多餘的空格;
fullname = compbl (fnamemix || mi ||
'. '
|| lnamemix ) ;
datalines;
grandits,gregory, a
siu, yi, w ;
run;
3、輸出資料
data_null_;
sethf.en_name;
file
'd:\mydb\stu1.txt';
putcn_name$
'09'x
'---'
en_name$;
run;
4、主鍵,兩資料集合並
//建立資料集,id是主鍵
databaseline;
infile
datalines;
input
id $ sbp ;
datalines;
c03615 115
b00979 107
b00644 138
d01348 142
a01088 117 ;
datafollowup;
informat
datedth
mmddyy8.;
infile
datalines;
input
id $ datedth cause;
datalines;
b00714 01/13/92 3
d02027 03/19/91 1 ;
//排序
proc
sortdata
= baseline;
byid;
proc
sortdata
= followup;
byid;
//
合併
dataall;
merge
baseline followup; by
id ;
run;
//在第二個資料集合的紀錄補充上第乙個資料集合的有關資訊
datadeaths;
merge
baseline (
in=in1)
followup (
in=in2); by
id;
ifin2;
run;
5、tranwrd(替換指定字元),scan(掃瞄字元位置)函式使用,替換指定字元,掃瞄不同位置的字串
wrd,scan函式使用,替換指定字元,掃瞄不同位置的字串tranwrd,scan函式使用,替換指定字元,掃瞄不同位置的字串
dataa2;
sethf.a1;
sname= scan(tranwrd(namedetail,
'///'
,'|'
),1,
'|') ;
detail1= scan(tranwrd(namedetail,
'///'
,'|'
),2,
'|') ;
run;
SAS data步的操作技能點 2(去重)
1 刪除主鍵有重複的行 nodupkey 只要 by主鍵的值相等,不管其他值是否相等,一律刪除 datatest3 input id1 id2 extra cards aa ab 3 aa ab 3 aa ab 2 aa ab 1 proc sortnodupkey data test3 by id...
基礎操作技能 3之python跨檔案呼叫
讀取檔案 import pandas as pd data pd.read csv data1 data2 data3 data data.csv 應用os路徑拼接os.path.join 函式 函式的作用連線兩個或者更多的路徑元件 import os data path path1 path2 d...
SecureCRT連線Linux的操作步驟
虛擬機器待機 ctrl g進入 ipconfig是windows裡面的操作 ifconfig是linux裡面的操作 解決方法 右鍵 開啟終端是 在桌面上,滑鼠右鍵才可以找到 上下鍵,上鍵即可自動補全要寫的內容 另一種securecrt連線linux連線方式 失敗的原因是 當前是windows系統,需...