楼主: 龙潭丰乐
3612 6

[程序分享] sas解决全国数学建模葡萄酒问题的一个程序 [推广有奖]

  • 14关注
  • 4粉丝

讲师

50%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
25 点
热心指数
29 点
信用等级
14 点
经验
8652 点
帖子
458
精华
0
在线时间
466 小时
注册时间
2011-11-20
最后登录
2022-1-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
2012年数学建模关于葡萄酒的问题,利用sas软件宏可以快速解决。
%macro base;
proc sql;
create table quan.f( meanscore int,stdscore int);
quit;
%do i=1 %to 28;
proc import datafile="f:\sas\A\hpta&i..txt" out=ptja&i
dbms=tab replace;
    getnames=no ;
run;
data ptja&i;
set ptja&i;
  rename var1-var10=q1-q10;
run;
proc transpose data=ptja&i out=ptja1&i(drop= _name_);
var q1-q10;
run;
data score&i;
set ptja1&i;
  score=sum(of col1-col10 );
run;
proc means data=score&i;
var score;
  output out=c mean=meanscore std=stdscore;
proc datasets;
  append base=quan.f data=c force;
run;
%end;
%mend;

%base;
大家一起探讨更简单的方法。

二维码

扫码加我 拉你入群

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

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

关键词:数学建模 葡萄酒 Transpose datasets proc sql 葡萄酒 程序 数学建模 数学建模题目 数学建模论文 数学建模大赛 数学模型

沙发
panshijun123 发表于 2012-12-17 17:42:04 |只看作者 |坛友微信交流群
思路也讲讲会更好!

使用道具

藤椅
龙潭丰乐 学生认证  发表于 2012-12-18 00:23:49 |只看作者 |坛友微信交流群
panshijun123 发表于 2012-12-17 17:42
思路也讲讲会更好!
不知道你有没有了解一些今年数模葡萄酒那题,第一问是关于两组葡萄酒评分的,让你判断那组更合理。
我这个程序的思想是算出红葡萄酒a组评酒员对28组葡萄酒(每组有十个人评价)的均值、方差。以此在计算其他组的,然后利用方差分析判断。

使用道具

板凳
zkymath 在职认证  发表于 2012-12-18 06:38:38 |只看作者 |坛友微信交流群
好坏的评比标准是? 更近真值?更小方差?还是。。。

使用道具

报纸
龙潭丰乐 学生认证  发表于 2012-12-18 13:27:37 |只看作者 |坛友微信交流群
zkymath 发表于 2012-12-18 06:38
好坏的评比标准是? 更近真值?更小方差?还是。。。
问题1. 分析附件1中两组评酒员的评价结果有无显著性差异,哪一组结果更可信?
我们组的思路是比较两组之间葡萄酒均值,看均值是否有差异。然后根据变异系数判断哪组更可信

使用道具

地板
zkymath 在职认证  发表于 2012-12-18 16:54:02 |只看作者 |坛友微信交流群
龙潭丰乐 发表于 2012-12-18 13:27
问题1. 分析附件1中两组评酒员的评价结果有无显著性差异,哪一组结果更可信?
我们组的思路是比较两组之 ...
MANOVA  ?数据是怎么压缩的?高中了吧,名次如何啊?

使用道具

7
龙潭丰乐 学生认证  发表于 2012-12-19 12:39:00 |只看作者 |坛友微信交流群
  1. %macro base(length ,name,anothername);
  2. proc sql;
  3.         create table quan.f( meanscore int,stdscore int);
  4. quit;
  5. %do i=1 %to &length;
  6. proc import datafile="f:\sas\A\&name&i..txt" out=&name&i
  7.         dbms=tab replace;
  8.     getnames=no ;
  9. run;
  10. data &name&i;
  11. set &name&i;
  12.   rename var1-var10=q1-q10;
  13. run;
  14. proc transpose data=&name&i out=&anothername&i(drop= _name_);
  15. var q1-q10;
  16. run;
  17. data score&i;
  18. set &anothername&i;
  19.   score=sum(of col1-col10 );
  20. run;
  21. proc means data=score&i;
  22. var score;
  23.   output out=c mean=meanscore std=stdscore;
  24. proc datasets;
  25.   append base=quan.&name data=c force;
  26. run;
  27. %end;
  28. %mend;
  29. %base(27,hpta,hpta1);
  30. %base(28,bpta,bpta1);
复制代码
优化了一下,可以直接算出白葡萄、红葡萄了。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 18:41