如何对比两组变量(在 SAS 中)

2023-11-29

数据如下:

ID----X1----X2----X3----Z1----Z2----Z3

对于每个 ID,考虑两组变量{X1, X2, X3} and {Z1, Z2, Z3} that:

  • X和Z的数量可以相同或不同。它们也可能有缺失值。
  • 每组中的变量值都是唯一的。也就是说,对于每个ID,X1不等于X2不等于X3。这同样适用于 Z。
  • Xs和Zs的值可以相等,这就出现了问题。如何创建保留 Xs 和 Zs 相等值并排除不相等值的新数据。例如,如果 X1 等于任何 Z,则 X1 将与 Z 一起保留。

考虑一个假设数据:

data temp;

input ID x1 x2 x3 z1 z2 z3;

datalines;

1001      11      12      13     .     12     11

1002      21      22      23    24     25     26

1003      31      32      33    31     32      .

1004      41      42      43    41     44     45
;

run;

我希望它是:

1001     11     12     .     .     12     11

1002     .       .     .     .      .      .

1003     31     32     .    31     32      .

1004     41      .     .    41      .      .

如果我理解正确的话,您需要单独处理每个数组。首先,你设置X缺失不在其中的值Z,然后返回并设置值Z那些不在X。尝试这个:

data want;
   set temp;
   array Xarr{*} x:;
   array Zarr{*} z:;

   do _i_=1 to dim(Xarr);
      if not (Xarr(_i_) in Zarr) 
         then Xarr(_i_) = .;
      end;

   do _i_=1 to dim(Zarr);
      if not (Zarr(_i_) in Xarr) 
         then Zarr(_i_) = .;
      end;
   drop _i_;
run;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对比两组变量(在 SAS 中) 的相关文章

  • SAS中的逻辑函数确定变量的特定值是否为数字?

    我有一个主要是数值的变量 但偶尔会有一个字符潜入 因此 变量在 SAS 中存储为字符 我希望能够确定此字符变量中的各个值是否是数字 在知道哪些值是数字 哪些是字符后 我想创建一个新的 数字 变量 其中字符变量的数字值存储为数字 而字符值存储
  • SAS - 使用另一列中的值动态创建列名称

    我有一列包含许多从 XML 解析器解析的标志 数据如下 USERKEYED Y VALMATCH N DEVICEVERIFIED N EXCEPTION N USERREGISTRD N ASSOCIATE Y EXTERNAL N GR
  • 从工具栏提交 SAS 代码或宏

    是否可以将 SAS 脚本或宏分配给 Base SAS 中的工具栏按钮 即 您可以 dm 宏或 sas 脚本吗 当然 这是一种方法 转到工具 gt 自定义 选择自定义选项卡 单击 添加工具 最左边的按钮 命令 一词的正上方 创建一个新的空白按
  • SAS 循环遍历宏变量列表

    首先 我是新人 所以如果这不是一个好问题 我深表歉意 我搜索过但没有找到类似的东西 我不确定我的方法是否正确 因此我们将不胜感激 我正在为一所有学期的学校创建一个数据集 例如 2017SP 是 2017 年春季 2017SU 是 2017
  • 北欧航空公司。变量是否在数据步骤的每次迭代中都设置为缺失?

    我一直认为数据步骤的每次迭代都将变量设置为缺失 然而 在下面的代码中 变量看起来像是保留了最开始获取的值 我不明白为什么会发生这种情况 data one input x y datalines a 10 a 13 a 14 b 9 run
  • 使用 Teradata ODBC 与 Teradata 数据库的 SAS 连接

    我正在尝试连接到 SAS 中的 Teradata 我在机器上设置了 Teradata ODBC 目前我的假设是使用 ODBC 是我访问数据库的唯一方法 这是我的连接命令的语法 库名称 Teradata ODBC dsn dsnname ui
  • 使用 R 的过程 GLM (SAS)

    我需要测试应该在奶牛遗传评估模型中包含哪些效应 在 SAS 中我会使用 proc GLM SAS 代码为 data paula1 set paula0 proc glm class year herd season model milk y
  • 选择数据步骤中具有最大值的观测值

    Table old date 05DEC2016 a 28NOV2016 b 22DEC2016 c 23JAN2017 d 12JAN2017 e 09JAN2017 f 25DEC2016 g 我需要创建一个新表 data new se
  • SAS 替换所有列中的字符

    我有一个 SAS 数据集 必须导出到 csv 文件 我有以下两个相互矛盾的要求 我必须使用分号作为 csv 文件中的分隔符 一些字符变量是从公式中手动输入的字符串 因此它们可能包含分号 我对上述问题的解决方案是转义分号或用逗号替换它 我怎样
  • 在SAS中使用循环重命名索引列?

    我有一个数据集 其中变量为 col1 col2 col3 col15 我想将它们重命名为new1 new2 new3 new 15 我可以写15次类似的rename col1 new1 在 SAS 中 但如何使用循环实现此目的 谢谢 首先
  • 在双边案例交叉设计中创建控制日期

    我计划研究空气污染对急诊室就诊的影响 并打算使用双边病例交叉设计 对于每个病例 医院就诊 我想创建 4 个控制日期 就诊前后 7 天和 14 天 例如 如果一个人于 2012 年 9 月 10 日访问诊所 我的控制日期将为 8 月 27 日
  • SAS中是否有相当于R函数表的?

    在 R 中 函数table使用交叉分类因素构建列联表 是否有一个等效的 SAS PROC 可以重现此 R 函数的结果 Example x lt data frame x rep 1 2 times 5 y rep 1 2 each 5 ou
  • 如何在更新宏变量的数据步骤中调用宏并立即使用该值?

    下面的例子非常简单 可能可以用更简单的方式解决 不过 我有兴趣让它发挥作用 以下示例基于 sashelp library 的 cars dataset 首先 我有一个名为 fun 的宏 proc contents data sashelp
  • SAS:如何计算除某些字符变量之外的所有字符变量的频率

    我知道我可以使用类似以下内容来计算所有字符的频率 proc freq data sashelp class tables char run 但是 有没有办法排除一些变量呢 我想做类似的事情 proc freq data sashelp cl
  • sas 宏 & 符号

    let test one let one two put test put test put test put test put test 出色地 我完全被这些 符号打败了 我不明白为什么他们在宏变量之前需要这么多 符号 有什么技巧可以掌握
  • 在新实例中打开 SAS 程序

    我正在尝试找出一种在单击时默认在增强编辑器的新实例中打开 SAS 程序的方法 问题是asked https stackoverflow com questions 4654876 open sas program in new window
  • 如何在SAS中对逻辑回归进行似然比检验?

    我想使用 SAS 在逻辑回归中执行标准似然比检验 我将拥有一个完整的逻辑模型 其中包含所有变量 名为 A 和一个嵌套逻辑模型 B 通过从 A 中删除一个变量而派生 如果我想测试该退出变量是否显着 我将对模型 A 和 B 执行似然比测试 是否
  • 重新排列 sas 数据集中的变量 - 按字母顺序排列

    我有大约 500 列的数据集 我想按字母顺序重新排列所有变量 除了在 set 语句之前使用保留语句之外 我还能以其他方式做到这一点吗 您可以动态生成变量名称列表 并使用以下命令创建新数据集PROC SQL proc sql select n
  • SAS Proc SQL 中的列表聚合和组串联

    我有一个数据集 必须根据粒度 FIELD1 和 FIELD2 进行汇总 必须对两个指标字段 METRIC1 和 METRIC2 求和 到目前为止 这似乎是一个简单的 GROUP BY 任务 但我有一个字符串字段 FLAG 也必须通过连接不同
  • 通过 SAS Base 上的程序在 SAS 元数据服务器中创建内部帐户

    我正在尝试通过使用以编程方式创建内部帐户proc metadata 下面的代码部分创建具有外部登录的人员 put

随机推荐

  • 地图视图始终以我的位置为中心显示地图

    当用户按下按钮时 我使用以下代码来获取我的位置 mapview setShowsUserLocation YES 然后执行以下操作将地图置于用户位置的中心 void mapView MKMapView mapView didUpdateUs
  • 从文件部分填充数组

    我需要用文件中的数据部分填充 2 个数组并保持它们并行 但我当前的代码给了我看起来像乱码的错误 如果有人甚至可以帮助我解码错误 我将非常感激 Code Author Sam LaManna Course CSC 135 Lisa Frye
  • java.lang.NoSuchMethodException: [类 android.view.View] FirebaseRecyclerAdapter

    我正在尝试使用 FirebaseRecyclerAdapter 制作示例应用程序 但不断收到错误java lang RuntimeException java lang NoSuchMethodException
  • C# - WCF - 进程间通信

    用于进程间通信的最佳 WCF 绑定是什么 我已经在本地网络上使用了 WCF 它非常棒 我也想将它用于进程间通信 然而 我不想暴露网络上的通信 Use the 网络命名管道绑定用于同一台机器上的进程间通信 使用NetTcp绑定如果您跨越机器边
  • glutTimerFunc 问题

    我正在使用计时器函数来制作动画 但是当我将其放置在 Renderer 类中时遇到问题 void Renderer animate int value glutTimerFunc TIMERMSECS animate 0 错误 rendere
  • 如何在块循环中使用 PHPExcel 库确定文件结尾?

    使用 PHPExcel 库 我尝试迭代大约 1500 行 每行大约有 25 列 我正在使用这段代码 取自PHPExcel 运行内存为 256 512 和 1024MB Create a new Reader of the type defi
  • Eclipse:以编程方式创建首选项页面

    我正在尝试以编程方式创建首选项页面 我需要使用首选项页面而不在plugin xml 中定义首选项页面扩展点 我非常接近解决方案 我能够加载页面并在应用程序第一次加载时保存值 我的代码的核心是 PreferenceManager pmngr
  • 使用 VBA 创建具有不同计数的数据透视表

    我正在尝试使用 Excel 2013 VBA 创建一个数据透视表 并将 DISTINCT COUNT 作为值字段 我知道 如果您手动创建数据透视表 则必须选中 将此数据添加到数据模型 复选框 以便为值数据透视字段提供不同的计数选项 但我不知
  • Laravel 5.8:Homestead 重启后尚未设置门面根

    所以我正在尝试进入 Laravel 这是我第一次使用 Vagrant 所以这是我的问题 我已经通过Laravel 家园介绍并设置我的开发框 一切似乎都正常工作 我确实看到了 Laravel 默认应用程序 当结束这一天时 我已经停止了本地流浪
  • 仅初始化部分功能一次

    我有一个很小的函数 我想初始化一次 例如 void SomeFunc static bool DoInit true if DoInit CallSomeInitCode DoInit false The rest of the funct
  • 无法更改模型生成器选项

    我试图让 symfony 使用一个名为的自定义类jsDoctrineRecord代替sfDoctrineRecord对于它的模型 这是重写类的代码
  • C# 中调整系统图标大小

    我想用SystemIcons Warning但它对于我的需要来说太大了 我想调整它的大小 我努力了 Icon sizedIcon new Icon SystemIcons Warning new Size 10 10 但它不起作用 图标保持
  • 将图像 src 数据:转换为 Uint8Array

    我想使用 异食癖图书馆 用于调整图像大小 但它要求我提供一个 Uint8Array 并且我只有一个带有 src data image jpeg base64 9j 4AAQ 我不知道如何将其变成 Uint8Array 有什么想法吗 Than
  • 防止将 master 中的文件与 Git 合并

    In 另一个问题建议使用 gitattributes为了保持文件跟踪但不合并到不同的分支中 但我下面的用例似乎不起作用 mkdir git cd git git init echo B gt b txt git add b txt git
  • HTML5:其他标签内有效标签的参考

    不久前我正在使用w3c 验证器对于 HTML5 我正在尝试用一个标签来替换已弃用的
  • Python pandas - 在groupby之后过滤行

    例如 我有下表 index A B 0 0 0 1 0 8 2 0 8 3 1 5 4 1 3 分组后按A 0 index A B 0 0 0 1 0 8 2 0 8 1 index A B 3 1 5 4 1 3 我需要的是从每个组中删除
  • 在 x64 中调用绝对地址

    我无法弄清楚这一点 我可以做出这样的指令 它工作没问题 call ffffdd80d60e4000 但我该如何将其转换为字节呢 我查看了内存中的指令并显示了奇怪的东西 例如 0xe8 0x00 0x40 0x0e 0xd6 我唯一能识别的是
  • 如何正确地为数据结构中的图像设置动画而不出现 ConcurrentModificationException

    对于那些讨厌阅读长问题的人 获取下面的完整代码 运行它 点击SPACE几次 你会得到一个ConcurrentModificationException 简单的问题 你如何解决它 问题是试图删除一个Fireball当它退出屏幕时从列表中删除
  • 在 MySQL 监视器中阅读 MySQL 手册?

    Problem 有效阅读MySQL手册 Error mysql gt create database plastronics gt ERROR 1007 HY000 Can t create database plastronics dat
  • 如何对比两组变量(在 SAS 中)

    数据如下 ID X1 X2 X3 Z1 Z2 Z3 对于每个 ID 考虑两组变量 X1 X2 X3 and Z1 Z2 Z3 that X和Z的数量可以相同或不同 它们也可能有缺失值 每组中的变量值都是唯一的 也就是说 对于每个ID X1不