问题标签 [sas-iml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1004 浏览

sas - SAS IML 将向量附加到数据集

我正在尝试将新向量附加到 SAS IML 中的数据集

我创建这些数据:

然后我想将新向量“z”附加到数据集

但这给了我错误“错误:数据集 WORK.DATA1 正在使用中,无法创建”

0 投票
2 回答
582 浏览

string - 相当于 PROC IML 中的 SAS 函数重复

我想在 a 中定义一个字符串PROC IML,比如“aaaaa”(五个“a”)。在一个DATA步骤中,我将使用该repeat()函数创建一个重复子字符串的字符串,如文档中所述

但是,在 SAS/IML 中,repeat()功能不同:它创建一个矩阵重复另一个元素的矩阵(此处的文档)。所以如果我使用这个函数,我会得到一个包含五个“a”元素的向量。

在那个例子中,我显然不能打扰并直接使用:

但是如果我需要一个更大的字符串(例如 100 个“a”)怎么办?我也可以在外部创建它PROC IML并在之后导入它,但必须有更聪明的方法来解决这个问题,不是吗?

0 投票
3 回答
94 浏览

sas - 列号更改时使用 sas 查找表

我有两个 sas 数据集,

其中表 1 是表 2 中值 a 和 b 的查找表,这样我就可以创建列 c。在表 1 中,a 相当于 col1,b 相当于 row1(即表 2 中的新列 c 应为 5、1、7、5、9。如何在 sas 中实现这一点。我正在考虑将表 1 读入 a二维数组然后得到列 c = 数组(a,b),但不能让它工作

0 投票
1 回答
849 浏览

loops - 如何使用循环在 SAS 中创建多个数据集

我想通过 do 循环使用上述代码在 SAS 中创建多个数据集。但是,我似乎无法使用 &i 指示器更改每个数据集的名称。谁能帮我更改代码以允许我创建多个数据集?或者,关于如何通过循环从矩阵创建多个数据集,还有其他选择吗?提前致谢。

0 投票
1 回答
431 浏览

sas - 在 SAS 中创建控制组

如何在 SAS 中创建数据集的子集,以便事先确定变量的均值、方差和观察次数?

例子:

假设我想要一个具有 3 个观察值的子集,均值(x1)= 4 和标准(x1)= 0.95。我将如何在 SAS 中创建这个子集?

我宁愿不使用 proc 方法做某事并反复猜测/检查。任何帮助表示赞赏!

更新:创建了一个逻辑模型来预测观察结果是在治疗组还是对照组。然后取前 10% 的概率最高的在治疗组,但不包括在治疗组中,基本上用作对照组。

0 投票
1 回答
288 浏览

optimization - SAS Proc IML 优化

嗨,我正在尝试优化具有 10 个参数的函数 f,其中所有 10 个参数的约束总和为零。

谁能建议我如何编写最后一部分的代码,以便我可以优化 f 并获得我想要的结果?提前致谢。

0 投票
3 回答
80 浏览

matrix - SAS 9.3:更改缺少行的矩阵的形状

我有以下格式的数据,

我想让它们变成一个 3*3 矩阵,因为那些缺失的行是零。

我用谷歌搜索并找到了这个
http://blogs.sas.com/content/iml/2012/01/16/reading-all-variables-into-a-matrix.html
但我不知道我是否错过了行,我该怎么做?

0 投票
1 回答
35 浏览

sas - SAS中四个表的逐个单元格平均值

我有三个表格,如下所示:

我想在 SAS 中逐个单元格地找到这些表的平均值。所以输出应该如下所示:

因此,例如,第一个单元格将计算如下 (1 + 2 + 3) / 3 = 3

目前我完全不知道如何做到这一点,但我正在研究 proc mean 和 proc freq,这似乎很有希望。

预先感谢您的帮助。

0 投票
1 回答
59 浏览

matrix - 在 SAS / IML 中从四个相同大小的单独矩阵创建平均矩阵

我是第一次在 SAS Enterprise Guide 中使用 IML/SAS,并且想要执行以下操作:

  1. 将一些数据集读入 IML 矩阵
  2. 平均矩阵
  3. 将生成的 IML 矩阵转回 SAS 数据集

我的输入数据集如下所示(这是虚拟数据 - 实际数据集更大)。输入数据集的格式也是我想要的输出数据集的格式。

我进行如下操作:

我一直在尝试很多东西,但似乎没有什么对我有用。我目前得到的错误是:

我究竟做错了什么?预先感谢您的帮助。

0 投票
4 回答
1949 浏览

count - SAS 中的计数

我有一个 3 列的 SAS 数据集。A FirmIndex、 aProducIndex和第三列称为PrChange。在每个FirmIndex&ProductIndex组中,我想计算有多少与和PrChange不同,并将其添加到名为 的列中。然后我想将该列除以每组中不是的观察数。.0NumberNumber.

下面是数据集和所需输出的示例。

这是我尝试生成的 column number,但它不起作用: