【问题标题】:I want to combine 2 datasets of numbers to another dataset without a common variable我想将 2 个数字数据集组合到另一个没有公共变量的数据集
【发布时间】:2014-10-14 16:02:03
【问题描述】:

我正在取消识别某些内容。我有一个带有我的标识符(ID1 和 ID2)的数据集 每个 ID1 有多个 ID2 我找到了唯一 ID1 的数量,并使用 ranuni 和种子创建了随机数,并将它们输出到数据集中。我对 ID2 做了同样的事情。 现在我有了 ID1 和 ID2,我想创建一个 Excel 文件,该文件将输出 ID1 ID2 去识别的 ID1 和去识别的 ID2。我打算合并,但我没有任何要合并的东西(观察除外)。所以我很困惑。建议将不胜感激。

编辑: 示例数据集

data real_data;
  input ID1  ID2;
  datalines;    
1   11    
1   12    
1   13    
1   14    
1   15    
2   11   
3   13
3   14    
3   17
;;;;
run;

【问题讨论】:

  • 我考虑过使用 1-1 合并,但我担心它只会匹配较短的 ID1
  • 好的,现在你要合并什么?这些数据集是什么样的?
  • 我为 ID1 创建了一个去识别数据集(其中 2 个),1 个用于 ID1,1 个用于 ID2(没有重复)。然后我创建了 1 个日期集,它只是 ID1,它是随机生成的去识别的新 ID(这只是一个没有密钥就没有任何意义的数字),另一个用于 ID1、ID2 和去识别的新 ID2。所以我想我现在可以在 ID1 上合并。我认为
  • 我想我明白了,感谢 TON Joe。感谢您的帮助。

标签: merge sas concatenation


【解决方案1】:

并排合并在这里不起作用,因为您的 ID1 比 ID2 少。除非您可以轻松地制作 id1 和 id2 组合的数据集,否则您无法真正做到这一点。

首先,我不会以这种方式进行身份识别。您可以在同一数据步中执行此操作。基本上,创建一个随机排序参数(两个,id1 和 id2 各一个),然后按此排序,然后在该点分配顺序 ID。应用于随机排序数据集的顺序 ID 本质上是去标识化的。

如果您想使用单独的数据集来执行此操作,我会以将顺序 1:num(ID_1) 转换为 ID1_DEID 和 ID2 相同的格式构建您的随机 ID。然后创建一个计数器,每个 ID1 加 1,每个 ID2 加一个,在每种情况下 PUT 具有格式的计数器,生成 de_id 值。

【讨论】:

  • 我的数据使得 ID1 已经重复多次(每个 ID2 与 ID1 一起出现 1 次就像一个人 ID2 是与该人关联的事件)。我需要进去为每个 ID1 创建一个变量吗?
  • 如果您想要最好和最有用的答案,您应该包含一个数据示例(例如,5 个 ID1 和一些与之关联的 ID2,然后是您将为这些数据创建的去 ID 数据集)。
  • 我已经试过了,我是新来的,我无法制作桌子,找不到如何制作桌子。无法提供真实数据,因为它是私人的。
  • 在 excel 或您最喜欢的电子表格应用程序中创建一些虚拟数据,然后将其粘贴回此处的问题中,然后突出显示它并按 ctrl + K。
  • 如果可能的话,最好在数据线语句中,因为我在上面编辑了你的第一个位。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-14
  • 1970-01-01
  • 2019-02-19
  • 2014-03-22
相关资源
最近更新 更多