【发布时间】:2021-03-19 03:41:44
【问题描述】:
我通常使用 R,但我刚开始学习 SAS。
在 R 中,我们可以像这样制作一些 data.frame:
df <- as.data.frame(matrix(c(1:6),nrow=2,ncol=3))
然后
df[1,2]
是 3。
这是我的问题。如何在 SAS 中使用行和列索引? 我找不到这个..
我想通过双循环的索引来使用行号和列号
【问题讨论】:
-
您为什么要通过“行”或“列”来引用值?也许您没有正确构建数据集?你真正想做的是什么?
-
我想通过循环索引使用行号或列号。
-
您的循环的总体最终目标是什么?回想一下,SAS 本质上是一种循环语言。数据步骤中的
set语句将自动循环遍历每一行。您当然可以引用 SAS 中的行和列的交集,但通常不会使用它,除非您在 IML、OR 或 CASL 中进行操作。 -
您正在询问如何做一件非常具体的事情,但没有提供任何关于您为什么要这样做的概述。这听起来像xyproblem.info 提供一个您认为该技术有用的用例的实际示例。您将获得一个解决方案,然后您可以学习将其用于解决类似问题。
-
SAS 以不同的方式处理数据,尝试在 SAS 中使用与 R 相同的方法将不起作用。您必须首先了解 SAS 的工作原理,数据步骤中的隐式循环意味着双循环很少见。通常,无论您在做什么,您最有可能只需要一个数组。如果您正在做绝对基本的矩阵工作,那么 IML 可能是您最好的选择,但如果您是 SAS 新手,那么这不太可能是正确的答案。我在 R 和 SAS 中编程,它们是不同的。 Tidyverse 在思维流程方面更接近 SAS。