SAS data步的操作技能點 3

2021-08-14 15:38:17 字數 3763 閱讀 7355

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系統,需...