楼主: dxystata
1318 5

如何得到这样的数据集 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2013-12-8 13:04:29 |AI写论文
100论坛币
  1. data aaa;
  2. input cat$ grp1 grp2 grp3;
  3. cards;
  4. A 10 40 50
  5. B 20 40 40
  6. ;
  7. run;
复制代码
根据数据集如何得到如下数据集?
cat  grp1    grp2    grp3    total
1     10       40       50      100
%   10.00  40.00  50.00
2     20       40       40      100
%   20.00  40.00  40.00

关键词:数据集 cards Input Total Data 如何

本帖被以下文库推荐

沙发
zw612003 发表于 2013-12-8 14:42:54
如果有关于group的原始数据,
id cat grp
1   A  grp1
2   B  grp2
....
那么你可以参考这个代码,能够得到差不多你想要的输出。
Proc tabulate data=sashelp.class  missing out=test;
class  sex age;
table Sex = 'Gender' *(n='n' * f = 3. rowpctn = '%' * f = 4.1),(age ) (all = 'Overall');
run;

Untitled.jpg (30.66 KB)

Untitled.jpg

藤椅
zhengbo8 发表于 2013-12-8 15:44:35
  1. data a;
  2.         input cat$ grp1$ grp2$ grp3$;
  3. cards;
  4. A 10 40 50
  5. B 20 40 40
  6. ;
  7. run;

  8. data b;

  9.         set a;
  10.         total = grp1 + grp2 + grp3;
  11.         output;

  12.         grp1=put(grp1/total*100,5.2);
  13.         grp2=put(grp2/total*100,5.2);
  14.         grp3=put(grp3/total*100,5.2);

  15.         cat="%";
  16.         total=.;

  17.         output;

  18. run;
复制代码

同一个数值变量两种输出格式是不可能的,只有转换为字符变量。

求币。

板凳
dxystata 发表于 2013-12-8 16:15:06
zhengbo8 发表于 2013-12-8 15:44
同一个数值变量两种输出格式是不可能的,只有转换为字符变量。

求币。
肯定可以实现的!

报纸
zw612003 发表于 2013-12-8 18:34:04
dxystata 发表于 2013-12-8 16:15
肯定可以实现的!
grp1有两种format,grp1=40和grp1=40.00,但是pdv里面一个变量只可以允许一种format。不可能做到两种format吧?

地板
hs4601 发表于 2013-12-15 12:09:53
不会做。。。。。。。。。。

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

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