在iml过程中为矩阵分配值时出错

时间:2020-10-27 08:59:39

标签: sas

我只是想在iml过程中通过向量分配矩阵的行,但是它返回错误。代码如下,我该如何解决?

 proc iml;
 za=repeat(0,4,3);
 a=123;
 b=321;
 c=222;
 za[1,]={a,b,c};
 run;
 print(za);
 proc print;run;

1 个答案:

答案 0 :(得分:1)

您的代码有一些问题。 {x,y,z}是列向量。 {x y z}是行向量。这意味着您尝试在行中插入一列。而且,语法有点不正确。

使用您自己的代码,您可以执行此操作。

<!DOCTYPE html>
<html>
<head>
<title>abcd</title>
</head>
<body>
<p id="demo"></p>
<button onclick="vote()">click</button>
<script>
function vote(){
  var age,voteable;
  age = Number(document.getElementById("age").value);
  if (age > 120){
      voteable = "not alive";
    }
  else{
        voteable = ( age < 18) ? "Too young" : "Old enough";
  }
    document.getElementById('demo').innerHTML = voteable;
}
</script>
<input id="age" value="age"/>
</body>

一种更简单的方法是

proc iml;
 za=repeat(0,4,3);
 a=123;
 b=321;
 c=222;
 za[1,] = a || b || c;
 print(za);
quit;