全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8788 11
2018-05-08
有下列数据,逗号分隔的是每一项目的编号,出现编号则表示该项目阳性,没有出现某编号则表示该项目为阴性。想要知道各项目阴性阳性各有多少例。
IDvar

2

57,2,7,9,16,35

1


3

17

4

5

5

21,55

6

9,39,58,60


原来想用index函数,将该变量拆成60个二分类变量(共有60个项目),程序是 if index(var,"2")>0 then v2=1;else v2=0;
然而由于12,22,52,都含有2,该结果就不对了。想出的笨办法是手动在EXCEL把编号1-9的项目命名为A-I的字母,然后再用index函数。然而数据有点多,有没有用SAS解决的简单办法?谢谢,拜托各位大神了!!




二维码

扫码加我 拉你入群

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

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

全部回复
2018-5-9 07:48:55
如果数据量不大,可以用excel直接做。先存成文本文件,然后用excel读入,读入时选择用“,”作为分隔符,就可以把这个变量拆分。
二维码

扫码加我 拉你入群

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

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

2018-5-9 09:14:26
try SCAN
二维码

扫码加我 拉你入群

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

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

2018-5-9 10:29:12
翻了SAS官方关于functions 的书,找到了一个适合我这个问题的函数 indexw. 该函数的官方介绍:Function: INDEXW
Purpose: To search a string for a word, defined as a group of letters separated on both ends by a word boundary (a space, the beginning of a string, end of the string). Note that punctuation is not considered a word boundary.
本问题,用EXCEL的替换功能将逗号替换为空格,再用indexw 即成功搞定
代码:
复制代码
结果: TIM截图20180509102137.png
二维码

扫码加我 拉你入群

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

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

2018-5-9 10:31:09
zkfu41 发表于 2018-5-9 07:48
如果数据量不大,可以用excel直接做。先存成文本文件,然后用excel读入,读入时选择用“,”作为分隔符,就 ...
变量拆分后依旧需要方法整合同一编码的项目,比较麻烦。我已解决,谢谢回答!
二维码

扫码加我 拉你入群

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

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

2018-5-9 10:31:35
孤单的我们 发表于 2018-5-9 09:14
try SCAN
谢谢回复,但scan不适用于现在的情况
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群