0

我有一系列大(4 位或 5 位)数字,我需要将其提高到 -1 次方。因为这些数字都很大,当提升到那个幂时,它们显然会非常小。当我在 SAS 中执行此操作时(使用元素运算符),输出中的所有数字都会四舍五入(?)为 -1。所以我得到的输出只有很多负数。

这真的是四舍五入的结果吗?我可以通过以某种方式格式化输出来解决这个问题吗?如果是这样,它的语法是什么?再说一次,很抱歉问这么简单的事情,我对 SAS 完全陌生。

代码:

proc iml; 
  use sasdata.have; 
  read all var {Distance} into D; 
  print D; 
  Dmin = -1##D; 
  print Dmin;
quit;
4

2 回答 2

1

您的问题是您将 -1 提高到 5000(或其他)的幂,而不是相反。

proc iml; 
  use work.have; 
  read all var {Distance} into D; 
  print D; 
  Dmin = D##-1; 
  print Dmin;
quit;
于 2015-10-22T16:56:17.290 回答
0

没关系,我想我知道是什么原因造成的。问题是操作顺序!当我将 -1##D 更改为 D##-1 时,我所有数字到 -1 的奇怪变形停止了,我终于得到了我期望的类型的答案。对不起,我现在压力很大,时间紧迫,因此我的代码中出现了这个愚蠢的错误。

于 2015-10-22T17:06:12.250 回答