我有一个看起来像这样的查找表(名称:LOOKUP_TABLE):
Obs Member_id plan_id Plan_desc group_id Group_name
1 164-234 XYZ HMO_Salaried G123 Umbrellas, Inc.
2 297-123 ABC PPO_Hourly G123 Umbrellas, Inc.
3 344-123 JKL HMO_Executive G456 Toy Company
4 395-123 XYZ HMO_Salaried G123 Umbrellas, Inc.
5 495-987 ABC PPO_Hourly G456 Toy Company
6 562-987 ABC PPO_Hourly G123 Umbrellas, Inc.
7 697-123 XYZ HMO_Salaried G456 Toy Company
我有另一个包含以下数据的表(名称:MAIN_TABLE):
Obs Member_id zip income svc_dt dx plan_id group_id Obs old_id new_id
1 164-234 04021 $45,000 2005/01/01 250 XYZ G123 1 164-234 N164-234
2 297-123 22003-1234 $56,999 2005/02/03 4952 ABC G123 2 297-123 N297-123
3 344-123 45459-0306 $72,999 2005/03/15 78910 JKL G456 3 344-123 C344-123
4 395-123 03755 $75,000 2005/04/14 250 XYZ G123 4 N164-234 M164-234
5 495-987 94305 $96,000 2005/08/19 12345 ABC G456 5 N297-123 B297-123
6 562-987 78277-8310 $32,999 2005/09/13 250 ABC G123 6 M164-234 P164-234
7 697-123 88044-3760 $47,999 2005/11/01 4952 XYZ G456 7 P164-234 A164-234
我的SAS数据步骤如下:
data MAIN_TABLE_1.
set MAIN_TABLE;
declare hash pd_lookup(dataset:"&LOOKUP_TABLE.");
rc_pd_definekey = pd_lookup.definekey
(
'plan_id',
'group_id'
);
rc_pd_definedata = pd_lookup.definedata
(
'Plan_desc',
'Group_name'
);
rc_pd_definedone = pd_lookup.definedone();
call missing (
Plan_desc,
Group_name
);
put "rc_pd_definekey is " rc_pd_definekey;
put "rc_pd_definedata is " rc_pd_definedata;
put "rc_pd_definedone is " rc_pd_definedone;
drop rc_pd_definekey rc_pd_definedata rc_pd_definedone;
rc_pd_lookup = pd_lookup.find();
run
我的问题是要了解此查找中幕后发生的事情,主要是关于生成的键值对。 即,是否生成了各个键值对。 同样,键值对的例子将是
:“plan_id” - > “Plan_desc”
:“plan_id” - > “GROUP_NAME”
:“group_id” - > “Plan_desc”
:“group_id” - > “GROUP_NAME”
或者是键连接在一起,值也是如此,然后我们成对。 就像在这样的事情
:“plan_id”+“group_id” - > “Plan_desc”+“Group_name”
我问这个问题,因为我必须将相同的代码逻辑转换为R,如果我误解了,那么整个R代码将是错误的
答案 0 :(得分:1)
group_id
和plan_desc
的每个组合用于从哈希表中检索包含group_name
和public void OpenEyesForVisualTesting(string testName) {
this.seleniumDriver.Driver = this.eyes.Open(this.seleniumDriver.Driver, "Zinc", testName);
}
public void CheckScreenForVisualTesting() {
this.eyes.Check("Zinc", Applitools.Selenium.Target.Window().Fully());
}
public void CloseEyes() {
this.eyes.close();
}
值的唯一条目。
但是,目前在查找表中存在具有相同组合的重复行,这可能导致错误或意外行为 - 例如您应该创建查找表的重复数据删除副本,并使用它来声明哈希对象。