由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 菜鸟问个sas得问题,关于分数组
相关主题
A question in splitting datasetPlease help with a SAS macro
如何在1,2,3,4,5中随机选出2个数来?sas 有没有类似goto 那种语句
用SAS sampling的一个问题问个比较具体的算法问题
~~~~~~~~~~~~~~ proc surveyselect 究竟怎样选样本的?问个简单的SAS如何找出某个变量最大之所在的行?
每个ID出现一次,missing去掉,请问高手用SAS怎么做?In sas, how do you randomly pick 10 numbers out of 29?
求一个简单点的方法写一段SAS如何用SAS 生成一个组合变量?
SAS,如何从一个大的dataset里面提取部分记录[Teradata] How to randomly select one observation from each group?
如何判断一个dataset是不是空的?[合集] 不是统计专业的, 问个excel的问题
相关话题的讨论汇总
话题: ntotal话题: end话题: output话题: do话题: proc
进入Statistics版参与讨论
1 (共1页)
x*********0
发帖数: 651
1
我现在有个很大的dataset大概有500,000record。然后我想把这个随机分成2个
dataset,比如说80%和20%,就是一个是training set,一个是testing set。我也能够
用个proc iml写,然后产生随机数这样分,但是我觉得有点笨,而且不知道机子会不会
死。想问问各位大牛,是不是能用简单的办法分?谢谢各位!
f********e
发帖数: 142
2
try proc surveyselect;

【在 x*********0 的大作中提到】
: 我现在有个很大的dataset大概有500,000record。然后我想把这个随机分成2个
: dataset,比如说80%和20%,就是一个是training set,一个是testing set。我也能够
: 用个proc iml写,然后产生随机数这样分,但是我觉得有点笨,而且不知道机子会不会
: 死。想问问各位大牛,是不是能用简单的办法分?谢谢各位!

D******n
发帖数: 2836
3
data statement can do ah...;
data test train;
set data;
r=uniform(-1);
if (r>0.2) output train;
else output test;

【在 x*********0 的大作中提到】
: 我现在有个很大的dataset大概有500,000record。然后我想把这个随机分成2个
: dataset,比如说80%和20%,就是一个是training set,一个是testing set。我也能够
: 用个proc iml写,然后产生随机数这样分,但是我觉得有点笨,而且不知道机子会不会
: 死。想问问各位大牛,是不是能用简单的办法分?谢谢各位!

x*********0
发帖数: 651
4
谢谢DaShagen,运行了一下,work了!非常感谢。
o****o
发帖数: 8077
5
用PROC SURVEYSELECT
或者下面的code
data yourdata;
do id=1 to 4999;
output;
end;
run;
data x1 x2;
set yourdata nobs=ntotal end=eof;
array _k{3} _temporary_;
if _n_=1 then do;
_k[1]=round(ntotal*0.8); _k[2]=ntotal-_k[1]; _k[3]=ntotal;
end;
if ranuni(987655) < _k[1]/_k[3] then do;
k1=_k[1]; k=_k[3]; _k[1]=_k[1]-1; output x1;
end;
else do;
_k[2]=_k[2]-1; output x2;
end;
_k[3] =_k[3]-1;
run;



【在 x*********0 的大作中提到】
: 我现在有个很大的dataset大概有500,000record。然后我想把这个随机分成2个
: dataset,比如说80%和20%,就是一个是training set,一个是testing set。我也能够
: 用个proc iml写,然后产生随机数这样分,但是我觉得有点笨,而且不知道机子会不会
: 死。想问问各位大牛,是不是能用简单的办法分?谢谢各位!

s*r
发帖数: 2757
6
不用分
做flag
运行的时候用where
...
我发现好多人都有这个问题,分开来用数据,不一定要把数据物理性的切割

【在 x*********0 的大作中提到】
: 我现在有个很大的dataset大概有500,000record。然后我想把这个随机分成2个
: dataset,比如说80%和20%,就是一个是training set,一个是testing set。我也能够
: 用个proc iml写,然后产生随机数这样分,但是我觉得有点笨,而且不知道机子会不会
: 死。想问问各位大牛,是不是能用简单的办法分?谢谢各位!

o****o
发帖数: 8077
7
有时候物理性的分开效率上还是有提高的

【在 s*r 的大作中提到】
: 不用分
: 做flag
: 运行的时候用where
: ...
: 我发现好多人都有这个问题,分开来用数据,不一定要把数据物理性的切割

x*********0
发帖数: 651
8
谢谢各位大牛,受益匪浅!
g********d
发帖数: 2022
9
大牛你受的啥训练,见过你两次回答问题(上次是分割100个文件),每次的code都好
复杂。

【在 o****o 的大作中提到】
: 用PROC SURVEYSELECT
: 或者下面的code
: data yourdata;
: do id=1 to 4999;
: output;
: end;
: run;
: data x1 x2;
: set yourdata nobs=ntotal end=eof;
: array _k{3} _temporary_;

s*******2
发帖数: 791
10
mark
1 (共1页)
进入Statistics版参与讨论
相关主题
[合集] 不是统计专业的, 问个excel的问题每个ID出现一次,missing去掉,请问高手用SAS怎么做?
[合集] how to randomly draw 10% sample from a data set?求一个简单点的方法写一段SAS
[合集] 请教一个percentile的问题 (SAS)SAS,如何从一个大的dataset里面提取部分记录
菜鸟再问个sas问题如何判断一个dataset是不是空的?
A question in splitting datasetPlease help with a SAS macro
如何在1,2,3,4,5中随机选出2个数来?sas 有没有类似goto 那种语句
用SAS sampling的一个问题问个比较具体的算法问题
~~~~~~~~~~~~~~ proc surveyselect 究竟怎样选样本的?问个简单的SAS如何找出某个变量最大之所在的行?
相关话题的讨论汇总
话题: ntotal话题: end话题: output话题: do话题: proc