楼主: keyzhi
2805 9

求助:将logistic 应变量拆分后进行分析 [推广有奖]

  • 0关注
  • 1粉丝

高中生

2%

还不是VIP/贵宾

-

威望
0
论坛币
139 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
163 点
帖子
14
精华
0
在线时间
20 小时
注册时间
2008-1-29
最后登录
2013-8-18

楼主
keyzhi 发表于 2009-12-4 22:42:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位老师:
现在我遇到了一个问题,就是想把logistic 应变量group中的case 拆分成 两个组: case1, case2,然后再分别与control 构成group 进行logistic 回归分析, 请各位老师指教! 谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:logistic ogistic logisti logist logis 变量 logistic 拆分

回帖推荐

lwien007 发表于5楼  查看完整内容

goodbody 发表于7楼  查看完整内容

4# keyzhi Hope I did not misunderstand your problem. I suppose your real data contains much more observations than the example data here, so I do not use the exact logistic model. I guess you want to work on case1 with control, and case2 with control separately. Since you used group as response variable, I write the codes following this logic. data keyzhi; input group geno$ positio ...

本帖被以下文库推荐

沙发
goodbody 发表于 2009-12-5 12:52:18
Maybe you can give an example data, and I write the SAS codes for you.

藤椅
keyzhi 发表于 2009-12-5 18:46:31
group  geno  position  sex  age
1        AG        1        1        56
1        AA        1        1        54
1        AA        1        1        56
1        AG        1        1        77
1        AG        1        1        69
1        AG        1        2        53
1        AG        1        2        54
1        GG        1        1        56
1        AA        2        1        47
1        AA        2        2        70
1        AG        2        1        56
1        AA        2        1        47
1        AA        2        1        76
1        AG        2        1        71
1        AG        2        1        63
1        AG        2        1        62
1        AA        2        1        62
1        GG        2        2        58
1        AG        2        2        65
1        AG        2        1        59
2        AG                2        50
2        AA                2        43
2        AA                2        52
2        GG                2        43
2        AA                2        44
2        AG                2        42
2        AG                2        47
2        GG                2        50
2        AG                2        43
2        GG                2        43
2        AA                1        80
2        AA                2        43
2        AA                2        48
2        AG                2        43
2        GG                2        42
2        AA                2        44

板凳
keyzhi 发表于 2009-12-5 18:50:08
谢谢goodbody

group=1 为case ; group=2 为control

现在就是想分析:
根据position 的值 把case 分为两部分,分别与control 构成group, 然后进行logistic 回归,model group=sex age geno

报纸
lwien007 发表于 2009-12-5 19:23:40
  1. proc logistic data=tmp;
  2.         model group= age sex;
  3.         where position^=2;
  4. run;
  5. proc logistic data=tmp;
  6.         model group= age sex;
  7.         where position^=1;
  8. run;
复制代码
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

地板
keyzhi 发表于 2009-12-5 19:47:12
谢谢lwien007 ,我运行了一下,那个where 是红色显示,是怎么回事呢? 是不是错误的语法?
还有SAS 帮助上的logistic 语法里没有where啊?
PROC LOGISTIC < options >;
BY variables ;
CLASS variable <(v-options)> <variable <(v-options)>... >
                          < / v-options >;
CONTRAST 'label'   effect values <,... effect values>< /options >;
EXACT < 'label' >< Intercept >< effects >< / options > ;
FREQ variable ;
MODEL events/trials = < effects > < / options >;
MODEL variable < (variable_options) > = < effects > < / options >;
OUTPUT < OUT=SAS-data-set >
                          < keyword=name...keyword=name > / < option >;
SCORE < options >;
STRATA effects < / options >;
< label: > TEST equation1 < , ... , < equationk >> < /option >;
UNITS independent1 = list1 < ... independentk = listk > < /option > ;
WEIGHT variable </ option >;


还想请教一下,您用的是什么软件啊? 就是左边有数字标识多少行的 ?

7
goodbody 发表于 2009-12-6 00:26:55
4# keyzhi

Hope I did not misunderstand your problem. I suppose your real data contains much more observations than the example data here, so I do not use the exact logistic model.

I guess you want to work on case1 with control, and case2 with control separately. Since you used group as response variable, I write the codes following this logic.


data keyzhi;
input
group  geno$  position  sex  age;
cards;
1        AG        1        1        56
1        AA        1        1        54
1        AA        1        1        56
1        AG        1        1        77
1        AG        1        1        69
1        AG        1        2        53
1        AG        1        2        54
1        GG        1        1        56
1        AA        2        1        47
1        AA        2        2        70
1        AG        2        1        56
1        AA        2        1        47
1        AA        2        1        76
1        AG        2        1        71
1        AG        2        1        63
1        AG        2        1        62
1        AA        2        1        62
1        GG        2        2        58
1        AG        2        2        65
1        AG        2        1        59
2        AG        .        2        50
2        AA        .        2        43
2        AA        .        2        52
2        GG        .        2        43
2        AA        .        2        44
2        AG        .        2        42
2        AG        .        2        47
2        GG        .        2        50
2        AG        .        2        43
2        GG        .        2        43
2        AA        .        1        80
2        AA        .        2        43
2        AA        .        2        48
2        AG        .        2        43
2        GG        .        2        42
2        AA        .        2        44
;
run;
data keyzhi0;
set keyzhi;
if position=1 then case=1;
if position=2 then case=2;
if group=2 then case=0;
run;
data keyzhi1;
set keyzhi0;
if case=2 then delete;
run;
proc genmod data=keyzhi1 descending;
class sex geno;
model case=sex age geno/dist=bin link=logit type3;
run;
data keyzhi2;
set keyzhi0;
if case=1 then delete;
run;
proc genmod data=keyzhi2 descending;
class sex geno;
model case=sex age geno/dist=bin link=logit type3;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

8
keyzhi 发表于 2009-12-6 16:16:21
谢谢goodbody ,您的意思是把case 分为两部分构成 数据集, 这个我也曾这么做的,后来就是觉得删来删去太麻烦了,就想有没有什么函数能够直接根据case中的某个变量把 case 分为两部分, 再分别与control 构成group.
我是学医的,在临床上经常会根据病例case的不同属性如 肿瘤亚型subtype 分别跟对照人群control 构成group进行分析,如果每次都要这样拆分,工作量觉得比较大,因此想咨询一下有没有什么函数可以做到这一点.

9
lwien007 发表于 2009-12-6 18:26:18
keyzhi 发表于 2009-12-5 18:50
where 语句在logistic过程中可以使用,我用sas9.2没有问题。

或者用选项也可以,像下边这样。
proc logistic data=keyzhi (where=(position^=2));
model group=sex age;
run;

10
keyzhi 发表于 2009-12-7 19:50:31
谢谢lwien007, 把where放上面就不会变红了,
proc logistic data=keyzhi ;
  where position^=2;
  model group=sex age geno;
run;
但是我试了一下,结果是一样的.

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 23:22