楼主: melody21
5979 9

[原创博文] 新手第二问:变量名称外加括号和+1的意思 [推广有奖]

  • 4关注
  • 6粉丝

已卖:5份资源

讲师

49%

还不是VIP/贵宾

-

威望
0
论坛币
3199 个
通用积分
462.0354
学术水平
36 点
热心指数
48 点
信用等级
36 点
经验
138 点
帖子
349
精华
0
在线时间
544 小时
注册时间
2007-7-14
最后登录
2023-2-4

楼主
melody21 发表于 2012-6-26 02:50:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据还是来自little sas book,3th, page 79.
数据及程序如下所示:
/* Pumpkin.dat */


Alicia Grossman  13 c 10-28-2003 7.8 6.5 7.2 8.0 7.9
Matthew Lee       9 D 10-30-2003 6.5 5.9 6.8 6.0 8.1
Elizabeth Garcia 10 C 10-29-2003 8.9 7.9 8.5 9.0 8.8
Lori Newcombe     6 D 10-30-2003 6.7 5.6 4.9 5.2 6.1
Jose Martinez     7 d 10-31-2003 8.9 9.510.0 9.7 9.0
Brian Williams   11 C 10-29-2003 7.8 8.4 8.5 7.9 8.0

/* Program */


DATA contest;
   INFILE 'c:\MyRawData\Pumpkin.dat';
   INPUT Name $16. Age 3. +1 Type $1. +1 Date MMDDYY10.
         (Scr1 Scr2 Scr3 Scr4 Scr5) (4.1);
   AvgScore = MEAN(Scr1, Scr2, Scr3, Scr4, Scr5);
   DayEntered = DAY(Date);
   Type = UPCASE(Type);
PROC PRINT DATA = contest;
   TITLE 'Pumpkin Carving Contest';
RUN;
疑问:
1.为什么input 行,Age 3. +1 Type $1. +1 ,这里的+1针对哪个变量加的?是什么意思?
2. (Scr1 Scr2 Scr3 Scr4 Scr5) (4.1); 为什么5个score变量外要有括号,后面的(4.1)是什么意思?
3.我把数据存为txt文件到电脑,写入上面的程序,log日志提示正常,output除了表格结构和name值正确外,其余的变量值除4个人错误的值外,大多都是".",好像是缺失值的概念,为什么呢?我照着写的程序如下:
data px1.pumpkin;
infile'c:\users\WW\work\sas\little book,code\3.2.txt';
input name $16. age 3. +1 type $1. +1 Date MMDDYY10.
(scr1 scr2 scr3 scr4 scr5) (4.1);
avgscore = MEAN (scr1, scr2, scr3, scr4, scr5);
dayenterd= DAY(Date);
proc print data=px1.pumpkin;
title'pumpkin contest';
run;

output:

pumpkin contest



ObsnameagetypeDatescr1scr2scr3scr4scr5avgscoredayenterd
1Alicia Grossman1........
2Matthew Lee.........
3Elizabeth Garci.........
4Lori Newcombe.........
5Jose Martinez....510..510.
6Brian Williams1........


问题比较多,不好意思。
敬请赐教,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:Elizabeth Martinez Williams Grossman Contest little 程序

回帖推荐

木野潇潇 发表于8楼  查看完整内容

1、+1 是代表列指针加1 2、(scr1 scr2 scr3 scr4 scr5) (4.1) 代表scr1 scr2 scr3 scr4 scr5 这五个变量 的格式 均为 长度为4 小数点后1位 3、自己运行的错误的原因我猜测可能是因为 你数据的排列与例子不一样。。 例子中的是每列对齐的。 而你在copy出来以后就是空格分别 列不对齐了 要补充空格 让列对齐 然后运行就没有问题了

本帖被以下文库推荐

沙发
颜季枫 发表于 2012-6-26 06:57:23
天哪,看不懂了

藤椅
melody21 发表于 2012-6-26 09:09:11
颜季枫 发表于 2012-6-26 06:57
天哪,看不懂了
你好,可能是我的问题上面没有说清楚。
主要是两个方面,
一个是关于原有程序的,变量后面或者前面出现了+1,不理解;然后是5个用来计算均值的变量,被用括号括起来了,后面还有个(4.1),不知道是什么意思?
另一个是,我照着原程序写下来运行,数据是把网上的code存为的.txt文件。运行结果很奇怪,log正常,输出结果变量数值除了name列外,其余都不对,而且大部分是".",估计是缺失值。不知道是为什么?我把txt文件调出来看,数据并未发生变化。
希望我这次把问题说清楚了。
新手入门,敬请赐教!

板凳
hopewell 发表于 2012-6-26 09:19:52
或许是(scr1 scr2 scr3 scr4 scr5) (5*4.1)
观钓颇逾垂钓趣 种花何问看花谁

报纸
melody21 发表于 2012-6-26 09:39:29
hopewell 发表于 2012-6-26 09:19
或许是(scr1 scr2 scr3 scr4 scr5) (5*4.1)
你好。我刚才仔细看了log(头先原来没看全,只看了最后几行。。汗。。)提示了不少错误,如
NOTE: Invalid data for Date in line 1 23-32.
NOTE: Invalid data for scr1 in line 1 33-36.
NOTE: Invalid data for scr2 in line 1 37-40.
NOTE: Invalid data for scr3 in line 1 41-44.
NOTE: Invalid data for scr4 in line 1 45-48.
NOTE: Invalid data for scr5 in line 1 49-52.
所以,我想可能是数据有问题。问个白菜级别的问题,我把little sas book的code下载下来,把这一段数据复制到txt,再用infile语句打开是不是出错了?如果是,这个书上的数据该怎么整?
另,这个变量外的括号什么的,是啥意思,刚刚查书了,没有您说的这个5*4.1.

地板
melody21 发表于 2012-6-27 00:11:28
UP, UP

7
melody21 发表于 2012-6-28 04:21:15
up up

8
木野潇潇 发表于 2012-6-28 10:12:23
1、+1 是代表列指针加1
2、(scr1 scr2 scr3 scr4 scr5) (4.1)  代表scr1 scr2 scr3 scr4 scr5 这五个变量 的格式 均为 长度为4 小数点后1位
3、自己运行的错误的原因我猜测可能是因为 你数据的排列与例子不一样。。 例子中的是每列对齐的。 而你在copy出来以后就是空格分别 列不对齐了  要补充空格 让列对齐 然后运行就没有问题了
已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
黄旗一点兵马收0 + 1 + 1 精彩帖子
bakoll + 3 + 3 精彩帖子
melody21 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 3  论坛币 + 3  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

9
木野潇潇 发表于 2012-6-28 10:14:10
melody21 发表于 2012-6-26 09:39
你好。我刚才仔细看了log(头先原来没看全,只看了最后几行。。汗。。)提示了不少错误,如
NOTE: Inval ...
就是数据没有对齐,因为你直接从pdf中把数据copy下来的话 排列的方式已经与例子中的不一样了。。例子中很多的空格在复制出来以后只会有一个。。所以会报错。。你只需要对着例子补充空格

10
melody21 发表于 2012-6-29 23:43:24
谢谢楼上,很感谢。

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

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