我完全按上述输入(论坛无法显示group后及f前的美元符号):
data a1;
input group$(a1-a2)($)f;
datalines;
U TT 34
U TG 26
U GG 5
A TT 36
A TG 33
A GG 9
;
run;
data two;
set a1;
do i=1 to f;
output two;
end;
run;
Ods html;
proc sort data=two;
by group;
proc allele data=two prefix=marker
perms=10 000 boot=1000 seed=123;
var a1 a2;
by group;
run;
Ods html close;
结果提示出错,请教各位老师,这是什么问题呢?
1 data a1;
2 input group$ (a1-a2)($)f;
3 datalines;
NOTE: 在第 5 行、第 1-1 列中有对“f”无效的数据。
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
5 U TG 26
group=U a1=TT a2=34 f=. _ERROR_=1 _N_=1
NOTE: 在第 7 行、第 1-1 列中有对“f”无效的数据。
7 A TT 36
group=U a1=GG a2=5 f=. _ERROR_=1 _N_=2
NOTE: 在第 9 行、第 1-1 列中有对“f”无效的数据。
9 A GG 9
group=A a1=TG a2=33 f=. _ERROR_=1 _N_=3
NOTE: INPUT 语句到达一行的末尾,SAS 已转到新的一行。
NOTE: 数据集 WORK.A1 有 3 个观测和 4 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.95 秒
CPU 时间 0.04 秒
10 ;
11 run;
12 data two;
13 set a1;
14 do i=1 to f;
15 output two;
16 end;
17 run;
ERROR: 无效的 DO 循环控制信息,INITIAL 或 TO 表达式缺失,或 BY 表达式缺失、为 0 或无效。
group=U a1=TT a2=34 f=. i=1 _ERROR_=1 _N_=1
NOTE: 由于出错,SAS 系统停止处理该步。
NOTE: 从数据集 WORK.A1. 读取了 1 个观测
WARNING: 数据集 WORK.TWO 可能不完整。该步停止时,共有 0 个观测和 5 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.15 秒
CPU 时间 0.01 秒
18 Ods html;
NOTE: 正在写入 HTML Body(主体)文件: sashtml.htm
19 proc sort data=two;
20 by group;
NOTE: 输入数据集为空。
NOTE: 数据集 WORK.TWO 有 0 个观测和 5 个变量。
NOTE: “PROCEDURE SORT”所用时间(总处理时间):
实际时间 0.09 秒
CPU 时间 0.01 秒
21 proc allele data=two prefix=marker
22 perms=10 000 boot=1000 seed=123;
---
22
200
ERROR 22-322: 语法错误,期望下列之一: ;, ALLELEMIN, ALPHA, AMIN, BOOT, BOOTSTRAP, CORRCOEFF, DATA, DELIMITER, DELTA, DPRIME,
GENOCOL, GENOMIN, GMIN, HAPLO, HAPLOMIN, HMIN, INDIV, INDIVIDUAL, LOGNOTE, MARKER, MAXDIST, NDATA, NOFREQ, NOPRINT,
OUTSTAT, PERMS, PREFIX, PROPDIFF, RHO, SEED, TALL, YULESQ.
ERROR 200-322: 该符号不可识别,将被忽略。
23 var a1 a2;
24 by group;
25 run;
NOTE: 由于出错,SAS 系统停止处理该步。
NOTE: “PROCEDURE ALLELE”所用时间(总处理时间):
实际时间 0.10 秒
CPU 时间 0.03 秒
26 Ods html close;