楼主: 小熊答录机
3014 12

[有偿编程] 请大家帮忙写一个macro [推广有奖]

  • 0关注
  • 0粉丝

svip3

高中生

60%

(VIP/贵宾)七级

12%

威望
0
论坛币
72562 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
272 点
帖子
7
精华
0
在线时间
53 小时
注册时间
2011-10-31
最后登录
2025-1-9

楼主
小熊答录机 发表于 2015-7-3 03:33:01 |AI写论文
200论坛币
之前发的不知道为什么变成了乱码 我自己琢磨了下 现在我transpose好了除了生成的variable顺序需要修改外 基本都没问题了我现在的问题是比如说我现在的variable顺序是 完全打乱的691个变量 名字是_1到_691
我现在想要就从_1开始这691个变量按照名字升序排列
我看网上修改变量顺序都是用retain
我就想知道如果是这么多变量 难道我要一个一个把名字写出来么
附件没有用了 我就是不会删除谢谢了

关键词:Macro acr CRO Mac Transpose 网上

沙发
jingju11 发表于 2015-7-3 06:21:24
Why bother doing like that?
that is, baseically, you will get the number of columns (+2) like below. And that number may be very large. A sparse data will be formed.
proc sql;
select count(*) from (
select distinct moduleName, Question
from yourdata);
quit;

JingJu

藤椅
Tigflanker 发表于 2015-7-3 09:47:07
能否再多详细说明下是怎样的合并逻辑呢?

板凳
Tigflanker 发表于 2015-7-3 10:04:44
  1. data one;
  2.   infile datalines dsd;
  3.   input interactionId $ name $ question : $50. response $ ;
  4.   datalines;
  5. 79070,name1,"Autism - Which care recommended? - Blood draw",No
  6. 79070,name2,"Autism - Which care recommended? - MRI or CT",Yes
  7. 79070,name3,"Autism - Which care recommended? - EEG",No
  8.   ;
  9. run;

  10. proc transpose data = one out = two;
  11.   by interactionId;
  12.   id name;
  13.   idlabel question;
  14.   var response;
  15. quit;
复制代码
是这意思吗? 捕获.PNG
Bye SAS.
若有缘,能重聚。

报纸
小熊答录机 发表于 2015-7-4 03:07:57
jingju11 发表于 2015-7-3 06:21
Why bother doing like that?
that is, baseically, you will get the number of columns (+2) like below ...
谢谢你的回复,请问得到了这个没有重复的数字就是应该有多少列之后呢?
可能是我没有表达清楚 我想问的是 怎么做rolled up 就是比较复杂一点的行列互换

地板
小熊答录机 发表于 2015-7-4 03:08:29
Tigflanker 发表于 2015-7-3 09:47
能否再多详细说明下是怎样的合并逻辑呢?
谢谢 已经在主贴中更新了

7
小熊答录机 发表于 2015-7-4 03:10:59
Tigflanker 发表于 2015-7-3 10:04
是这意思吗?
谢谢 ,我有点不理解
data one;
  infile datalines dsd;
  input interactionId name question : 50.response ;
  datalines;
79070,name1,"Autism - Which care recommended? - Blood draw",No
79070,name2,"Autism - Which care recommended? - MRI or CT",Yes
79070,name3,"Autism - Which care recommended? - EEG",No
  ;
run;
如果有非常多条记录我要怎么做呢?
还有就是column我是希望combine 两个module name和question的
非常感谢

8
jingju11 发表于 2015-7-4 22:21:14
小熊答录机 发表于 2015-7-4 03:07
谢谢你的回复,请问得到了这个没有重复的数字就是应该有多少列之后呢?
可能是我没有表达清楚 我想问的是 ...
仅几年来一直没有好好使用sas,用熟了excel,看到列数这么多,感到很难处理,故有此问。根据该问题, 我也准备模拟类似的数据集,提供若干中解决方案。欢迎大家来我的新浪博客阅读。估计博客将在近几天内更新。
数据集模拟的思路是:模拟多人(interactionID)。一个人可以有多个问卷(moduleName),每份问卷可以有多个问题(question)需要回答。而且只需一个答案(Response)。
虽然这种问题的理想解决方法可以通过通过建议并维护一个dictionary table,但是在我的答案中也许不设计该方法。
京剧

9
小熊答录机 发表于 2015-7-5 02:35:14
jingju11 发表于 2015-7-4 22:21
仅几年来一直没有好好使用sas,用熟了excel,看到列数这么多,感到很难处理,故有此问。根据该问题, 我 ...
多谢 期待拜读大作

10
苹果叶 在职认证  发表于 2015-7-5 13:04:36
retain _1-_691;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 10:43