由买买提看人间百态

topics

全部话题 - 话题: var1
首页 上页 1 2 3 4 5 6 7 下页 末页 (共7页)

发帖数: 1
1
来自主题: Statistics版 - sas coding help needed
data new;
set old;
if (_n_ EQ 1) then tem=var2/var1;
retain tem;
var2=int(var1*tem);
keep var1 var2;
run;

the

发帖数: 1
2
来自主题: DataSciences版 - SAS coding help needed
用ARRAY
data calculation(drop=i);
array var1{7} var11-var17 (87 85 78 75 65 56 34);
array var2{7} var21-var27 (95 0 0 0 0 0 0 );
do i=1 to 6;
var2{i+1}=(var2{i}/var1{i})*var1{i+1};
end;

proc print noobs data=calculation;
title 'Data Set calculation';
run;
格式之类可以随意调整

the
m********5
发帖数: 619
3
你这个条件1和条件2我看着怎么重叠啊....
proc sql; create table data3 as select a.*, b.* from data1 as a, data2 as b
where a.var1=b.var1 and a.var2=b.var2 and a.date1-b.date2>=minvalue and a.
date1-b.date2>0;
quit;
j*****n
发帖数: 1781
4
some rules for you to start
rule 1. avoid table scan... check your execution plan by hit ctrl+l
rule 2. avoid CASE...THEN... in select statement
rule 3. avoid NOT IN, NOT EXIST
rule 4. use INNER JOIN when possible instead of LEFT/RIGHT OUTER JOIN
rule 5. use UNION ALL when possible against UNION
rule 6. avoid function against columns in WHERE clause
rule 7. use ISNULL() instead of OR in WHERE clause
e.g. WHERE col1 = @var1 OR @var1 IS NULL
can be written to
WHERE col1
A*******i
发帖数: 75
5
例如用命令 grep 'abc' *.* | wc -l
想把wc的结果存到一个变量中
试着用grep 'abc' *.* | wc -l | read var1
但是var1里面没有值,现在暂时办法就是先把值存到一个临时文件里面,然后再读文件
里面的值。
在tcsh里面用set就可以做到,可是bash中好像不行,请问有直接的方法吗?谢谢
A*******i
发帖数: 75
6
搞定了
用括号就可以了
var1=$(any command)
echo $var1
d*****u
发帖数: 17243
7
来自主题: Programming版 - 问个Python的问题
如果在一个class里面定义了另外一个subclass,那怎么在那个subclass里调用上级的
参数呢
比如
class mother(object):
def __init__(self):
self.var1 = 1
...
class child(object):
...
如果要在child里用到mother里的var1,应该怎么操作?
是像函数一样传递过去吗
s********k
发帖数: 6180
8
来自主题: Programming版 - 问个Python的问题
class mother(object):
def __init__(self):
self.var1 = 1
class child(object):
def __init__(self):
self.var2 = mother().var1 +1
s********k
发帖数: 6180
9
来自主题: Programming版 - 问个Python的问题
you can also do this, but maybe not a good way
class mother(object):
var1 = 1
def __init__(self):
pass
class child(object):
def __init__(self,mother):
self.var2 = mother.var1 +1
if __name__ == "__main__":
a = mother()
b = mother().child(mother)
l*s
发帖数: 11
10
来自主题: Programming版 - Python的With語句嚇著我了
Python:
with obj1() as var1, obj2() as var2:
# some codes effective in the context of obj1 and obj2
# ...
C++:
{
var1 = obj1();
var2 = obj2();
// Some codes effective in the context of obj1 and obj2
// ...
}
有什麼區別嗎?

++
p**r
发帖数: 5853
11
说实话,这种破玩意最多2天就做完了,
还聊什么核心,模块。
给个大概吧,抛玉引砖 :D
#1
DB/tables:
users(基本信息)
userR(用户相关信息,夫妻,子女等等,联合报税)
userExt(拓展信息,商家,个人等等)
years(年份相关数据数据)
Formulas(各种规则)
#2
核心只有一个,就是根据formula的文本解析成代码
类似对字符串"if(var1>std1),then var1=var*120"
#3
实现就是把所有的数据调出来后,喂进解析核心,
解析核心再导入公式出各种结果report。
功能实现上属于小学生级别,完全没有难度。
traffic处理方面也不存在难度,低流量。
唯一要注意点的就是加密解密,因为数据敏感。
如果web base,那就更要小心更小心。
身份验证方面可能也要注意下。
真的要做这种商用软件,唯一可以拉开差距的就是UI。
l*******1
发帖数: 113
12
来自主题: Quant版 - 问两道题
1.
exp(2*mu1+2*mu2+var1+var2+2*rho*sd1*sd2) * )(exp(var1+var2+2*rho*sd1*sd2)-1)
2. T^3/3
w**********y
发帖数: 1691
13
如果你非要一行,做法也很多,比如:
ddply(data, ~ var1, function(x) write.csv(x, file=paste0(x$var1[[1]],".csv")
))
量体裁衣。给个1万行的data和1亿行的data当然该有不同的选择

()
k***g
发帖数: 7244
14
你这个 call plyr library了。。。
只用K基本函数的做法:
{{.[-1!`$($x),".csv";();:;y]}[x;]","0:?[`t;,(=;`var1;x);0b;()]}'?t`var1
所有函数都只有一个字符。。。
我觉得K肯定会比R快上百倍吧,回头可以测试一下

")
p********a
发帖数: 5352
15
☆─────────────────────────────────────☆
sociopeople (sociopeople) 于 (Tue Mar 20 21:17:27 2007) 提到:
Below is the original dataset:
Id day
01 0
01 0
01 0
01 1
01 1
01 0
01 0
01 1
01 1
01 1
02 1
02 1
02 0
03 0
03 0
03 1
I need to create two variables counting the number of 0 and 1 respectively
the final dataset should look like: var1 is a variable counting the number
of 0 and var2 is a variable counting the number of 1
id var1 var2
01 3 2
01 2 3
02 1 2
03 3
p********a
发帖数: 5352
16
来自主题: Statistics版 - [合集] 一个SAS数据合并的问题
☆─────────────────────────────────────☆
Bighappy (快乐大大大) 于 (Fri Apr 6 14:47:46 2007) 提到:
大侠帮忙看看下面的程序:
data dataA;
input var1 var2;
datalines;
1.2 2.0
4.2 3.2
3.8 1.8
6.0 9.3
7.5 5.4
8.6 7.2
;;;;
data dataB;
input var3 var4;
datalines;
2.1 2.4
2.3 7.2
3.4 2.8
9.4 5.5
5.5 5.9
7.8 7.2
1.1 1.4
4.5 6.5
;;;;
data new;
merge dataA dataB;
run;
proc print; run;
产出的结果如下:
Obs var1 var2 var3 var4
1 1.2 2.0 2.1
z*****e
发帖数: 5
17
例如:有一个dataset with three observations as:
var1
a
b
c
怎样多加一个变量使这个dataset变成
var1 var2
a a
b ab
c abc
谢谢!
p********a
发帖数: 5352
18
data b;
set a;
if _N_=1 then var2=Var1;
else Var2=cats(lag(var2),var1);
run;
l*****i
发帖数: 43
19
data a;
input var1 $;
cards;
a
b
c
;run;
data b;
set a;
retain y;
length y $ 8;
y=trim(left(y))||' '||var1;
run;
W**********E
发帖数: 242
20
来自主题: Statistics版 - 问个P-VALUE的问题
Likelihood ratio test example:
H0: var1=0 likelihood ratio chi-square test statistics is 6.6976 with df=1.
So 1-pchisq(6.697,1)= 0.0093.
However, this example gets a p-value of 0.0047 by dividing 0.0093 with 2.
I am not sure why we need to divide a 2 here. Variance is always positive
and Ha: var1>0 justifies a one tailed test only, right?
Any help will be appreciated.
W**********E
发帖数: 242
21
来自主题: Statistics版 - 问个P-VALUE的问题
I am not sure I follow this " convert 2 sided test to 1sided test" here.
Pr(Y>test_statistics) is one sided p-value only, right?
if we want a two-sided p-value, we should have a 2*Pr(Y>test_statistics)
under a symmetric distribution.
So I am very confused with the example. Either they report 0.0093 as p-value
for one sided test Ha: var1>0. or 2*0.0093=0.018 as a two sided p-value for
Ha: var1 ne 0. Why divide 0.0093 by 2 here? Plus I do not think it is necessary to do a two tailed test for varia
q**j
发帖数: 10612
22
多谢帮助!
1. 如果一个data frame 有 (key1, key2, var1),另外一个有(key1, key2, var2)。
我希望找出在第一个data frame里面,但是不在第二个里面的所有行。请问是否必须要
像SAS那样建立in1, in2然后经过merge()以后挑选?有没有简单的办法?(var1 var2
可能是missing)。
2.
> data
x y z
1 apple 1996 1
2 orange 1997 2
3 orange 1996 3
4 apple 1998 4
5 apple 1997 5
> new
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
> rownames(new) = unique(x)
> colnames(new) = unique(y)
> new
1996 1997 1998
apple NA NA NA
orange NA NA NA
> Row.Index = match(data$x,rownames(new))
z********n
发帖数: 710
23
proc freq data=x;
table var1;
by var2;
run;
I need to get a new dataset from this freq table with cumulative percent in
it.
How can I do it?
proc freq data=x;
table var1/noprint output=freq;
by var2;
run;
By running the previous code, I got percent not cumulative one.
The dataset is large. Thank you!!!
p********a
发帖数: 5352
24
来自主题: Statistics版 - 请教sas高人(数据读入)
data test;
input v1 $ v2 $ v3 $ v4 $ v5 $;
datalines;
a b c d e
7 3 4 6 9
f g h i j
10 3 23 4 6
run;
data test1(keep=var1 var2);
retain n1 n2 n3 n4 n5 '';
set test;
array nn(5) n1-n5;
array vv(5) v1-v5;
if mod(_N_,2)=1 then do;
n1=v1;n2=v2;n3=v3;n4=v4;n5=v5;
end;
else if mod(_N_,2)=0 then do;
do i=1 to 5;
var1=nn(i);var2=vv(i); output;
end;
end;
run;
proc print;
run;
o******6
发帖数: 538
25
来自主题: Statistics版 - [合集] How to specify a variable as missing
☆─────────────────────────────────────☆
careerchange (Stupid) 于 (Fri Mar 6 17:42:51 2009) 提到:
data two;
set one;
where var1=. or var2="";
run;
Now suppose we do not know var1 and var2 are numerical or strings,
how to specify them as missing?
☆─────────────────────────────────────☆
libra (秤子) 于 (Fri Mar 6 17:45:24 2009) 提到:
didn't do this but try "var<0" or maybe "var*1<0"

☆─────────────────────────────────────☆
papayaya (青鱼) 于 (Fri Mar 6 18:49:47 2009) 提到:
there is a fun
p********a
发帖数: 5352
26
来自主题: Statistics版 - 如何有SAS处理这个DATA SET,谢谢!
sort 后用first.var1累加,取前Var1*10个数据
y*********4
发帖数: 76
27
来自主题: Statistics版 - 如何有SAS处理这个DATA SET,谢谢!
that actually works perfect for me.
Can i ask for one more questions....
what if I only want to count those var1 with more than 5 records...
for example, some var1 only have 4 obs and i dont want to use those results.
..
l*******d
发帖数: 101
28
来自主题: Statistics版 - 【R】保留matrix中某些值
这样啊。那还不如直接把结果存成如下格式:
Var1 Var2 chisq p
A B ??? ???
A C ??? ???
A D ??? ???
B C ??? ???
B D ??? ???
把这个矩阵叫X. 然后你可以直接查找:
which (X[,4]<0.05)
However, as you're probably already aware, 0.05 wouldn't be suitable here
since you're doing multiple tests.
You need to adjust the p value threshold.
另外,你还可以把Var1, Var2的数据也做成这个格式,这样你算chisq时就是对数列而
不是矩阵操作了。
d*******1
发帖数: 854
29
来自主题: Statistics版 - 一个令人不解的R问题
我的思路还是在延续SAS MACRO中的文本替换的模式, 比如在SAS,
plot(&var1, &var2), 如果var1 and var2已经被赋值X和Y, 那么程序就会把这个PLOT
自动解读为 PLOT(X,Y), 所以我的思路就不自觉的认为R会将NAMES(DATA)[1] 和NAMES
(DATA)[2]解读成X, Y. 我记得R里也有这种文本替换的函数, 比如PASTE, 但是PASTE
在这里也不好使。 我自己的感觉SAS MACRO的文本替换在执行很多重复行的任务方面还
是很好的, 比如说自动产生1000个名字内容不同的CSV文件, 不知道R用什么功能控制
输出文件的名字在每次LOOP中改变。

变量
o****o
发帖数: 8077
30
来自主题: Statistics版 - 怎样用R除掉DUPLICATED RECORD
> tbl<-read.table('c:/testtble.txt', header=T)
> tbl
ID1 ID2 var1 var2 var3
1 A 1 10 44 1
2 A 1 10 44 2
3 A 2 11 3 3
4 A 2 11 3 4
5 B 3 12 4 5
6 B 3 12 4 6
7 B 4 20 10 7
> tbl[!duplicated(tbl[,-5]),]
ID1 ID2 var1 var2 var3
1 A 1 10 44 1
3 A 2 11 3 3
5 B 3 12 4 5
7 B 4 20 10 7
>
>
p*****o
发帖数: 543
31
来自主题: Statistics版 - 再问个SAS LOGISTIC REGRESSION的问题。
我用STEPWISE做LOGISTIC REGRESSION之后,把系数存在了PAREST这个DATA SET中,但
是里面有的VARIABLE是MISSING VALUE,因为STEPWISE没有把它选入最后的MODEL。
我的问题是,我用这个PAREST的DATA SET来PREDICT另外一个DATA SET: VALIDATION的
值的时候,比如:
SELECT
1/(1+exp(-(intercept + V.VAR1*E.VAR1 + V.VAR2*E.VAR2))) AS P1
FROM
VALIDATION AS V, PAREST AS E
但是E.VAR2是MISSING VALUE,有没有办法可以把MISSING VALUE在这一步变成0呢?---
-实际上我有很多VAR,不是只有两个,也不知道到底最后哪一个会被选入MODEL。
(因为我是在一个大的MACRO里面同时做STEPWISE还有ENTER METHOD两个REGRESSION,
并且都用来PREDICT VALIDATION DATA SET。所以想用一个统一的公式来写---就想上面
的那个公式,如果
w*****y
发帖数: 130
32
来自主题: Statistics版 - Ask 2 simple SAS questions,thanks
请问在使用proc corr检验两个变量时,如何输出pearson test's significant level到指定
的变量?
另外有一组数据
var1,var2,var3
a,100,0.05
a,200,miss
b,100,-0.05
b,200,-0.05
。。。
请问如何输出obervations( when var3>0,output 其所在的整组(var1=a)的观测值)。
R******d
发帖数: 1436
33
回头看一下,前面写得有点脱裤子放屁
data test;
input var1 $ var2 var3;
datalines;
a . 1.1
a 5 .
a 6 .
b 5 0
b 5 0
b 7 .
;
run;
proc sql noprint;
create table result as
select *, max(var3) as max, max(var3)>0 as index from test group by var1;
quit;
data result;
set result;
if index=1 then var3=max;
run;
w*****y
发帖数: 130
34
来自主题: Statistics版 - 请问SAS中如何删除字符变量内的零
字符变量
var1
0001
1020
val
change to
仍是字符变量
var1
1
1020
val
xiexie
d*******o
发帖数: 493
35
来自主题: Statistics版 - 数据分开的问题请教
proc sql;
select b.id as patient_label label='This is a patient', a.*
from patient80k as a
left join
from patient200 as b
on a.var1=b.var1 and a.var2=b.var2 and...../*you have 200 vars*/
;quit;
l****u
发帖数: 199
36
来自主题: Statistics版 - 数据分开的问题请教
Dapangmao:
you mean i need to list 200 vars all??
on a.var1=b.var1 and a.var2=b.var2 and...../*you have 200 vars*/
A*******s
发帖数: 3942
37
来自主题: Statistics版 - 哪个SAS function可以读这样的variable
if substr(var,1,1)='F' then var1=var;
else var1=put(var+0, 8.);
b2
发帖数: 427
38
var1 var2 date
1 missing 2010-1-1
1 missing 2010-1-2
1 a 2010-1-3
1 b 2010-1-4
2 missing 2010-2-1
2 missing 2010-3-26
2 e 2010-4-1
2 missing 2010-5-1
2 f 2010-6-10
3 eee 2007-1-1
3 missing 2008-3-1
3 missing 2009-1-20
3 f 2009-2-1
3 missing 2010-1-1
变成
var1 var2
1 a 2010-1-3
1 b 2010-1-4
2 e
o****o
发帖数: 8077
39
don't know how your VAR2's look like. If they are $1. Char variables or Num variables, then
you can do some trick like this:
data new;
set old; by var1;
retain _flg;
array v2{*} $ var2-var200;
*array v2{*} var2-var200;
_j=length(compress(cat(of v2[*]), ' .'));
if first.var1 then _flg=(_j=dim(_v2));
else _flg=_flg+(_j=dim(_v2));
if _flg=0 then delete;
drop _:;
run;

if they are of more general case, you probablly have to go ove
p*****o
发帖数: 543
40
来自主题: Statistics版 - 问个PROC SQL中INNER JOIN的问题
btw, is any function could be used there?
such as strip? like: on strip(a.var1) = strip(b.var1)?
A*******s
发帖数: 3942
41
这个方法是不是挺笨
data aaa;
var1=ceil(5*ranuni(-1));
do until (var2 ne var1);
var2=ceil(5*ranuni(-1));
end;
output;
run;
w********5
发帖数: 72
42
来自主题: Statistics版 - 请教一下SAS编程的一个问题
This is my answer. My codes are alway very long and not efficient. Please
help simlify.
data data1;
input var1;
cards;
5
6
;
run;
data data2;
input var2;
cards;
5
6
;
run;
data new;
infile datalines dlm=" ";
input name $ var $ ;
datalines;
data1 var1
data2 var2
data2 var2
data4 var4
;
run;
proc sql;
select name into:name1-:name&SYSMAXLONG
from new;
select var into:col1-:col&&SYSMAXLONG
from new;
quit;
%put _user_;
option mprint mlogic;
%macro mutiple;
%do i=1 %to &sqlobs;
proc so
h******e
发帖数: 1791
43
来自主题: Statistics版 - 如何从sas output里读入数据。
假设如下table已经输出到了sas output窗口里:
Table 1
Study XXXX
var1 var2 var3 .................................
... ... ... .................................
... ... ... ..................................
现在需要加上总页码生成以下table:
Table 1
1 of 3 Study XXXX
var1 var2 var3 .................................
... ... ... .................................
... ... ... ..................................
其思想是将第一个table作为只有一个变量的sas dataset重新读入,然后计算study出现的次数得到总页码。加入总页码后再输出为文本得到第二个table。
一般的做法是第一个tabl
f*******e
发帖数: 51
44
try this:
data countmiss;
input var1 var2 var3 var4 var5 var6;
cards;
0 0 0 0 0 1.2
0 0 0 0 5.8 4.7
58.8 0 0 30 0 33.3
100 0 0 100 0 66.6
;
run;
data _null_;
set countmiss;
array var(*) var1-var6;
call symput("list"||strip(_N_),"");
do i=1 to dim(var);
if var(i)>0 and var(i) <50 then do;
call symput("list"||strip(_N_),symget("list"||strip(_N_))||" "||"var"||strip
(i));
end;
end;
run;
%put &list1 &list2 &list3 &list4;
z****n
发帖数: 67
45
多谢楼上提醒,把楼上的code改成下面的就可以运行啦!
data countmiss;
input var1 var2 var3 var4 var5 var6;
cards;
0 0 0 0 0 1.2
0 0 0 0 5.8 4.7
58.8 0 0 30 0 33.3
100 0 0 100 0 66.6
;
run;
data _null_;
set countmiss;
array v(*) var1-var6;
call symput("list"||compress(_N_),"");
do i=1 to dim(v);
if 0< v(i) <50 then do;
call
symput("list"||compress(_N_),left(trim(symget("list"||compress(_N_))||"
"||"
var"||compress(i))));
end;
end;
run;
%put list1=&list1 ;
%put list2=&list2 ;
%put list3=&list3 ;
%put list4=&lis
i******r
发帖数: 323
46
来自主题: Statistics版 - 一个SAS问题(transpose?)
data one ;
input Seller $ Year var1 var2 var3;
cards;
ABC 2005 0 0 0
ABC 2006 4 0 0
ABC 2007 17 1 1
EFG 2005 32 4 3
EFG 2006 45 8 5
EFG 2007 50 3 12
;
run;
proc sort data=one; by seller year; run;
proc transpose data=one out=two (drop=_name_);
by seller year;
var var1-var3; run;
proc sort ; by seller year;
run;
proc transpose data=two out=three (drop=_name_) prefix=var ;
by seller year;
var col1; run;
s*******d
发帖数: 132
47
来自主题: Statistics版 - R question, calculate mean over some rows
I have an id variable, and hundreds of covariates var1- var100.
There are some id are the same with each other. For these rows with the same
id, I need to calculate the mean for var1 - var100, respectively.
How to do this in R? Thanks.
w*********r
发帖数: 488
48
比如
data aa;
set bb cc;
by var1;
run;

data aa;
merge bb cc;
by var1;
run;
我自己在SAS上做了一下简单的实验,两个结果是一样的。当然我自己编的data set也
很简单就是了。请问在什么样的情况下会产生不一样的结果呢?还是两个根本就是一回
事?
o****o
发帖数: 8077
49
这个SAS-L上前两个星期有人问过,不过是SUM函数
VAR1-VARk的表达方式是SAS自己的,似乎跟SQL标准不兼容;所以SAS就没有implement
比如说这个QUERY怎么用VAR1-VARk的方式?
proc sql;
create table x as
select a.id, a.datetime, sum(a.val1, b.val2) as val
from y as a, y as b
where a.id=b.id & a.datetime ;
quit;
s***r
发帖数: 1121
50
来自主题: Statistics版 - SAS question - baozi
A table like this:
variable value t-stat
var1 v1 t1
var2 v2 t2
....
....
...
Want to convert sth like:
variable value
var1 v1
(t1)
var2 v2
(t2)
....
....
首页 上页 1 2 3 4 5 6 7 下页 末页 (共7页)