data s1;
input id gender age;
cards;
1 1 12
2 1 24
3 2 13
;
proc print;
run;
data s2;
input id gender age;
cards;
4 1 15
5 2 22
6 1 20
;
proc print;
run;
data s;
set s1(in= a1) s2(in=a2); /*set将s1与s2纵向合并,即增加个案数;数据集选项in=a1表示对于s1数据集的a1参数为1,同理s2数据集的a2参数为1,标记数据来源 */
by id; /*by表示排序依据,默认为升序,在变量前加descending表示降序*/
c1=a1; /*a1为临时变量,故将其赋值到c1中*/
c2=a2;
proc print;
run;
s1
Obs
id
gender
age
1
1
1
12
2
2
1
24
3
3
2
13
s2
Obs
id
gender
age
1
4
1
15
2
5
2
22
3
6
1
20
s
Obs
id
gender
age
c1
c2
1
1
1
12
1
0
2
2
1
24
1
0
3
3
2
13
1
0
4
4
1
15
0
1
5
5
2
22
0
1
6
6
1
20
0
1
横向合并
data m1;
input id gender;
cards;
1 1
2 1
3 2
4 1
5 2
6 1
;
data m2;
input id age;
cards;
1 12
2 24
3 13
4 15
5 22
6 20
data m;
merge m1(in=a1) m2(in=a2);
by id; /*by表示索引变量为id*/
c1=a1;
c2=a2;
if c1=1 and c2=1; /*if条件语句用于判断个案是否包含来自m1和m2的数据,从而筛选保留数据来源齐全的个案*/
proc print;
run;
m1
Obs
id
gender
1
1
1
2
2
1
3
3
2
4
4
1
5
5
2
6
6
1
m2
Obs
id
age
1
1
12
2
2
24
3
3
13
4
4
15
5
5
22
6
6
20
m
Obs
id
gender
age
c1
c2
1
1
1
12
1
1
2
2
1
24
1
1
3
3
2
13
1
1
4
4
1
15
1
1
5
5
2
22
1
1
6
6
1
20
1
1
延伸: 1- 1if语句筛选后删除符合条件的个案
if <条件(表达式)> then delete;
where 也可作为数据集选项
input m1(where= a1);
2 拆分为若干个子集
对观测个案的选择 if/where firstobs/obs
(1) 条件:if语句、where (选项 或者 语句)
/*if语句的写法*/
if 表达式 then 表达式;
else 表达式;
/*if语句的另一种写法*/
if 表达式;
/*where语句的写法*/
set cf0;
where gender="m" and age>40;
/*where选项*/
set cf0(where=(gender="m" and age>40));
data cf0;
input id gender$ age;
cards;
1 f 21
2 m 15
3 f 34
4 f 25
5 m 42
6 m 50
;
data cf1;
<条件语句>
proc print ;
run;
/*第一种:if语句*/
set cf0;
if gender="m" and age>40;
/*第二种:where语句*/
set cf0;
where gender="m" and age>40;
/*where选项*/
set cf0(where=(gender="m" and age>40));
(2) obs与firstobs(数据集选项)
obs
firstobs
末位obs(包含)
起始obs(包含)
/*选择观测1-5*/
data pop;
do id=1 to 10;
output;
end;
;
data sam;
set pop(obs=5);
proc print;
run;
/*选择观测3-7*/
data pop;
do id=1 to 10;
output;
end;
;
data sam;
set pop(firstobs=3 obs=7);
proc print;
run;
/*选择观测6-10*/
data pop;
do id=1 to 10;
output;
end;
;
data sam;
set pop(firstobs=6);
proc print;
run;
/*制定自定义格式*/
proc format;
invalue <$>格式名 变量或范围1=输入格式1 ...;
value <$>格式名 变量或范围1=输入格式1 ...;
--------
/*应用自定义的格式*/
format 变量 <$>格式名.; /*自定义的格式名需要在末尾加英文句号*/
invalue
value
输入格式
输出格式
若invalue的目标数据是字符型,则无论数据本身是数值或是字符都作为字符输入
若源数据是字符,则需要在变量名前加$
proc format;
value first 1-2="male" 3="female";
value $second "a"-"g"="fair" "o","u"="other";
data test;
input x y$;
format x first.;
format y second.; /*两个变量分开两行设定格式*/
cards;
1 a
2 b
1 o
2 u
3 g
1 i
;
proc print;
run;
原本数据
Obs
x
y
1
1
a
2
2
b
3
1
o
4
2
u
5
3
g
6
1
i
修饰结果
Obs
x
y
1
male
fair
2
male
fair
3
male
other
4
male
other
5
female
fair
6
male
i
7 输出样式 proc print
proc print
proc print调用输出过程。
选项
含义
< data= >
指定要输出的数据集,如果不指定,默认为最近一次使用的数据集
< label >
要求显示用label语句指定的变量标签。前提在data步已有label语句。
< noobs >
要求不显示最左侧的obs列。
搭配语句
含义
by
分组:将数据集按指定的变量分开显示。使用by语句之前,最好先用proc sort排一下序
var
指定需要输出的变量,如果不写,默认为全部输出
sum
给出指定数值变量的求和。这四个语句中的style选项均同proc print语句
data baseline;
input id gender$ age height weight;
label gender="性别";
cards;
1 female 36 160 60
2 female 43 168 56
3 male 51 171 73
4 female 60 160 50
5 male 66 172 55
;
proc print;
原本数据:
Obs
id
gender
age
height
weight
1
1
female
36
160
60
2
2
female
43
168
56
3
3
male
51
171
73
4
4
female
60
160
50
5
5
male
66
172
55
输出修饰:
proc sort;
by gender;
proc print data=baseline noobs label;
by gender; sum height weight;
run;
public class HttpClientUtils
{
public static CloseableHttpClient createSSLClientDefault(CookieStore cookies){
SSLContext sslContext=null;
try
{
sslContext=new SSLContextBuilder().l
对于JAVA的join,JDK 是这样说的:join public final void join (long millis )throws InterruptedException Waits at most millis milliseconds for this thread to die. A timeout of 0 means t
在网站项目中,没必要把公用的函数写成一个工具类,有时候面向过程其实更方便。 在入口文件index.php里添加 require_once('protected/function.php'); 即可对其引用,成为公用的函数集合。 function.php如下:
<?php /** * This is the shortcut to D
这篇日志是我写的第三次了 前两次都发布失败!郁闷极了!
由于在web开发中常常用到这一部分所以在此记录一下,呵呵,就到备忘录了!
我对于登录信息时使用session存储的,所以我这里是通过实现HttpSessionAttributeListener这个接口完成的。
1、实现接口类,在web.xml文件中配置监听类,从而可以使该类完成其工作。
public class Ses
Spring Boot 1.3.0.M1于6.12日发布,现在可以从Spring milestone repository下载。这个版本是基于Spring Framework 4.2.0.RC1,并在Spring Boot 1.2之上提供了大量的新特性improvements and new features。主要包含以下:
1.提供一个新的sprin