将 SAS 数据集中的观测值读入数组

2024-02-05

这个问题与大型机上的 SAS 相关,尽管我相信在这种情况下没有什么区别。

我有以下 SAS 数据集:

Obs     DATO    T_ALLOC    T_FRESP

 1     19328      647        1804 
 2     19359      654        1797 
 3     19390      662        1789 
 4     19418      676        1774 
 5     19449      636        1815 
 6     19479      698        1753 

我的目标是将 3 个变量的所有 6 个观察值(我希望在这里使用正确的术语)放入单独的数组中。

我已经付出了很大的努力来阅读有关使用数组的信息,但由于某种原因,这个特定问题的解决方案一直困扰着我。

如果有人愿意提供帮助,我们将不胜感激。即使包含我正在寻找的答案的文档链接也会非常有帮助。

如果我的解释不清楚,请告诉我,我将提供任何必要的其他信息。

提前致谢。

编辑->

我的最终 CSV 应类似于以下内容:

Datoer,01/2013,02/2013,03/2013,04/2013,05/2013,06/2013,07/2013,08/2013,09/2013,10/2013
Freespace,800,1000,1243,1387,1457,1562,1620,1700,1800,1900
Allokeret,1000,1200,1456,1689,1784,1865,1930,2000,2100,2200

如果我正确理解您的需求,您可以借助 proc transpose 获得您想要的结果。

proc transpose data = datain out = dataout;
    var DATO T_ALLOC T_FRESP;
run;

proc export data=dataout
    outfile='xxxxx\tmp.csv'
    dbms=csv
    replace;
run;

这只是 SQL 的另一个想法。

proc sql noprint;
    select DATO into :dato separated by ',' from datain;
    select T_ALLOC into :talloc separated by ',' from datain;
    select T_FRESP into :tfresp separated by ',' from datain;
quit;

data _NULL_;
    file 'xxxxx\tmp.csv';
    put "var1,&dato";
    put "var2,&talloc";
    put "var3,&tfresp";
run;

另一种是数组。

data _NULL_;
    set datain nobs = nobs;
    array data DATO T_ALLOC T_FRESP;
    format t1-t3 $50.;
    retain t1-t3;
    array t[3] $;
    do i = 1 to dim(t);
        if _N_ = 1 then t[i] = put(data[i], 8.);
            else t[i] = compress(t[i] || ',' || put(data[i], 8.));
    end;
    if _N_ = nobs;
    file 'xxxxx\tmp.csv';
    put "var1," t1;
    put "var2," t2;
    put "var3," t3;
run;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 SAS 数据集中的观测值读入数组 的相关文章

  • SAS 中的 PROC SQL - 所有项目对

    我有一个数据集 我需要在其中查看来自另一个组的所有项目对 我在下面创建了一个玩具示例来进一步解释 BUNCH FRUITS 1 apples 1 bananas 1 mangos 2 apples 3 bananas 3 apples 4
  • 使用 PROC GLM “自动”计算参数估计值的线性组合

    背景 我有一个分类变量 X 有四个级别 我将其作为单独的虚拟变量 因此 共有三个虚拟变量 分别代表 x 1 x 2 x 3 x 0 是基线 问题 问题 我希望能够计算这些虚拟变量的线性组合 即使用 SAS 作为计算器 的值 例如 2 B1
  • SAS LOOP - 从具有值的记录创建列

    假设我有随机诊断代码 例如 001 v58 142 如何从记录中的代码构造列 Input id found code 1 1 001 2 0 v58 3 1 v58 4 1 003 5 0 v58 15000 0 v58 Output id
  • 使用SAS和mkdir在windows中创建目录结构

    我想在 Windows 中从 SAS 中创建目录结构 最好使用允许我指定 UNC 命名约定的方法 例如 computername downloads x y z 我在网上看到很多使用 DOS 的 SAS 示例mkdir通过调用命令 syse
  • 拆分 SAS 数据集

    我有一个 SAS 数据集 如下所示 id dept 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 B 10 B 11 B 12 B 13 B 每个观察代表一个人 我想将数据集分成 团队 数据集 每个数据集最多可以有 3
  • 想要创建序列号

    我想生成序列号 e g I have NID ABD90 BGJ89 HSA76 而且我要 ID NID 1 ABD90 2 BGJ89 3 HSA76 我应该运行什么代码才能得到这个结果 请帮我 既然你标记了 SAS 我就用 SAS 来回
  • 在 Base SAS 中,如何自动刷新资源管理器?

    我相当确定这一定是困扰其他人的问题 因此必须有一个解决方案 我编写代码并想要快速检查数据集 但它不存在 我需要选择窗口 单击 查看 然后单击 刷新 是否有我可以使用的键盘快捷键或我可以编写的宏来为我做到这一点 我知道这很懒 但它让我烦恼 任
  • 删除SAS中所有观测值都不包含特定值的组

    我想删除其观察值中没有 NUM 14 的整个组 所以就像这样 原始数据 ID NUM 1 14 1 12 1 10 2 13 2 11 2 10 3 14 3 10 由于 ID 2 中都不包含 NUM 14 因此我删除了组 2 它应该看起来
  • 导出文件期间检测到打开代码语句递归

    我尝试在 SAS 中导出文件 但收到 检测到打开代码语句递归 错误 由于我根据根据提示日期定义为宏变量的日期导出多个文件 因此我想用此变量命名要导出的文件 但它不起作用 如果有人帮助我 我将非常感激 rep date 30APR2015 0
  • SAS 替换所有列中的字符

    我有一个 SAS 数据集 必须导出到 csv 文件 我有以下两个相互矛盾的要求 我必须使用分号作为 csv 文件中的分隔符 一些字符变量是从公式中手动输入的字符串 因此它们可能包含分号 我对上述问题的解决方案是转义分号或用逗号替换它 我怎样
  • SAS HashTable 中由 hashexp 指定的表大小到底是多少?

    我想对 SAS 哈希表中存储桶的定义进行一些澄清 问题正是关于hashexp范围 根据 SAS DOC 的说法 hashexp is 哈希对象的内表大小 其中哈希表的大小为2n HASHEXP 的值用作 2 的指数来创建哈希表大小 例如 H
  • 在SAS中使用循环重命名索引列?

    我有一个数据集 其中变量为 col1 col2 col3 col15 我想将它们重命名为new1 new2 new3 new 15 我可以写15次类似的rename col1 new1 在 SAS 中 但如何使用循环实现此目的 谢谢 首先
  • 解析宏变量名称中包含 %eval 的宏,SAS

    这是一个玩具示例 旨在帮助解决我遇到的更大问题 它本质上涉及在引用更大的宏变量名称时使用 eval 宏 我创建了一个宏变量 x 2 它使用循环 it 的值 从最终输出可以看出该变量已成功创建 但是我只能将其放入日志而不评估 it 1 这当使
  • SAS 全球日期比较

    我正在尝试进行日期比较 但没有得到正确的结果 有谁知道发生了什么事吗 macro ttt let check start 28APR2014 if check start d lt 25may2014 d then let true 1 e
  • 使用 SAS EG 通过代理从 API 下载 JSON 文件

    我正在尝试使用瑞士当局提供的 API 对公司网络内的地址进行地理编码 我的公司使用带有用户名和密码的代理服务器 我是 SAS EG 的新手 这是我迄今为止拥有的代码 我必须匿名一些内容才能被允许在此处发布 filename response
  • SAS合并多个表

    我想知道合并多个表的最佳方法是什么 我在所有表中都有唯一的标识符 我应该在对表进行排序后一步加入所有表 还是应该逐步进行一一表合并 这有关系吗 您可以一步进行多次合并 然而 这并不是最安全的方法 如果您的数据可能存在缺陷 最好逐步执行此操作
  • 删除 SAS 中的表

    什么是最高效的SAS中删除表的方法 我有一个循环并删除大量表的程序 想知道 PROC SQL 之间是否存在性能差异 和过程数据集 一次删除一张桌子 或者如果还有其他方法吗 如果外包给操作系统是合理的 那可能是最快的 否则 我的不科学观察似乎
  • 停止 SAS 执行

    快速提问 是否有一种单行 或相当短的 方法可以从窗口环境中取消进一步 SAS 语句的执行 这些是methods http www2 sas com proceedings sugi31 063 31 pdf我知道 但它们会让人厌烦 尤其是在
  • 使用 Proc sql 和 Teradata 在 SAS 中编写高效查询

    编辑 这是一组更完整的代码 它准确地显示了下面的答案所发生的情况 libname output data files jeff let DateStart 01Jan2013 d let DateEnd 01Jun2013 d proc s
  • Office 2010 中的 SAS DDE 问题

    当我运行 Office 2007 时 我的 SAS DDE 脚本可以很好地填充 保存并关闭 Excel 文件 我最近更新到 Office 2010 总体工作正常 但 Excel 在保存对话框中停止 我必须手动单击 保存 而以前我不需要这样做

随机推荐

  • 远程 Watir-Webdriver IE 表单字段无法识别文本和按键

    我一直在使用黄瓜 Watir Webdriver用IE就好了 在我的测试中 我转到表单字段并输入数据 然后单击保存按钮 所有动作都效果很好 最近我决定去硒网格2出于性能原因在机器上分配测试 它在 FF 和 Chrome 上运行得很好 但我开
  • Keras 不使用 fit_generator() 进行训练

    我正在使用 Keras 2 0 4 TensorFlow 后端 执行图像分类任务 我正在尝试训练我自己的网络 没有任何预训练参数 由于我的数据很大 我无法将所有数据加载到内存中 为此我使用ImageDataGenerator flow fr
  • Apache PDFBox:如何指定要输出的文本的位置

    所以基本上我已经实现了在特定位置生成 pdf 时创建文本 但现在我的问题是 如何处理位于不同位置的文本 预期生成的 PDF contentStream setLeading 15 contentStream newLineAtOffset
  • 如何使用 numpy 创建线性间隔点的数组?

    我正在尝试使用 numpy 创建一个等距点的数组 如下所示 array 0 0 05263158 0 10526316 0 15789474 0 21052632 0 26315789 0 31578947 0 36842105 0 421
  • 为什么 Integer 类缓存值在 -128 到 127 范围内?

    关于我之前的问题 为什么 与 Integer valueOf String 的比较对于 127 和 128 给出不同的结果 https stackoverflow com questions 20877086 confusion in me
  • 在opencv中加载svg图像

    我正在尝试下载 svg 图像并将其打开opencv https opencv org 以便进一步加工 我正在做的是将 svg 格式转换为 png 格式cairosvg https cairosvg org 使用打开它Pillow https
  • 默认情况下,弹性搜索的最大和最小日期是多少?

    Intro 我们有一个类注释为 Document有日期字段 E g Document indexName notif index type notif type shards 1 replicas 0 refreshInterval 1 p
  • Swift:从 iOS 7 编译 Archive 时出现分段错误

    我一直遇到这个问题 所以我开始用 Swift 创建一个新的单视图应用程序 适用于 iPhone 和 iPad 当目标是 iOS 8 1 时 一切正常 但如果我设置 iOS 7 1 或 7 则会出现分段错误 当我转到 产品 gt 存档 时 当
  • Centos+Apache+passenger+rails:从 www 文件夹运行 Rails 应用程序

    我正在尝试学习 Rails 所以我是新手 希望得到一些帮助 我试图同时运行多个应用程序 但遇到了一个奇怪的问题 当我尝试用 Rails 生成东西时 它给了我一个权限错误 我浏览了 stackoverflow 和其他几个网站 但没有找到任何好
  • 适用于 Foundry 中的业务/最终用户的电子表格上传

    Foundry 是否具有对将电子表格 相同架构 上传和附加到一个数据集的本机支持 并具有适合业务 最终用户的界面 我正在评估一个用户工作流程 其中涉及临时接收表格电子表格并使用常规编程方法附加它们 我正在尝试在 Foundry 中启用此工作
  • 从 XPages 全局删除 Dojo

    At http www dominoguru com pages 11182010085538 html http www dominoguru com pages 11182010085538 html and http dpastov
  • 限制 python 脚本位置

    我想知道是否有一种方法可以控制 python 脚本的运行位置 这样Python就只允许运行某些位置的脚本 我们正在运行带有 Windows 域控制器的 Windows 环境 原因是作为在具有严格安全要求的环境中锁定 python 的一步 给
  • Python 中 dict 类的动态运算符重载

    我有一个类可以动态重载基本算术运算符 如下所示 import operator class IshyNum def init self n self num n self buildArith def arithmetic self oth
  • 错误:ADB 退出,退出代码为 1 执行流式安装

    我在运行时收到以下错误flutter run然而 在某些项目上 在其他项目上它工作得很好 base Nusraths MacBook Pro flutter uber clone rahama flutter emulators launc
  • android webview 的自定义字体

    我在我的应用程序中使用 webview 我想使用自定义字体以波斯语显示文本 我将字体放在 asset 文件夹中 并编写了一种在 webview 中放置文本的方法 但在不支持波斯语的 api8 中 它显示未知字符而不是我的文本和支持波斯语的
  • 对不是 的直接子级的输入显示选项卡表单验证

    当未聚焦的选项卡出现验证错误时 选项卡标题应显示为红色 相反 当未聚焦的选项卡出现验证错误时 选项卡标题不会给出任何错误指示 当我使用子组件时会发生此问题 如果所有组件都是在创建 编辑级别定义的 则该选项卡将按预期变为红色 但如果存在嵌套组
  • dcast 重命名所有变量以数字开头

    所以我得到的数据如下所示 id year principal interest 1 011000600 2013 0 00 0 00 2 011000600 2014 544 03 0 00 3 011000700 2013 0 00 0
  • Java - 如果随后定义了 actionPerformed,JButton 文本就会消失

    这已经困扰我一段时间了 如果我定义setText在 JButton 上before定义setAction 文本消失 JButton test new JButton test setText test Before disappears t
  • 如何使用 Jasmine 监视匿名函数

    我正在使用 Jasmine 来测试我的角度应用程序 并希望监视匿名函数 使用角度通知服务https github com cgross angular notify https github com cgross angular notif
  • 将 SAS 数据集中的观测值读入数组

    这个问题与大型机上的 SAS 相关 尽管我相信在这种情况下没有什么区别 我有以下 SAS 数据集 Obs DATO T ALLOC T FRESP 1 19328 647 1804 2 19359 654 1797 3 19390 662