【发布时间】:2019-03-20 21:36:51
【问题描述】:
我想尝试找到一种方法来计算多个(超过两个)BY 组变量中的观察次数。之后,我希望删除与计数小于 2 的观察有关的观察。这是我正在尝试做的一个示例:
VAR1 VAR2 VAR3
a a 1
a a 2
a b 1
a b 2
b a 1
b a 2
b b 1
b b 2
c a 1
c b 1
d a 1
在这里,我想确保 VAR3 相对于 VAR1 和 VAR2 有两个不同的值。
在此示例中,您可以看到我想删除最后三个观察值,因为每个 VAR1/VAR2 对都有一个值。
有没有简单的方法来做到这一点?
我试过了:
data want;
set have;
by VAR1 VAR2 VAR3;
if first.VAR3 = last.VAR3 then delete;
run;
但这不起作用,因为它删除了在同一个 VAR1 中具有相同 VAR3 的观察结果。我需要帮助构建更强大的东西。
最后,我想要这个:
VAR1 VAR2 VAR3
a a 1
a a 2
a b 1
a b 2
b a 1
b a 2
b b 1
b b 2
不胜感激。 谢谢你。
编辑:
为我需要的东西提供额外的清晰度。 我想检查 VAR3 是否包含 VAR1 和 VAR2 存在的每个组合的值 1 和 2 。如果条目仅包含其中一个值或不包含,则删除。
谢谢。
【问题讨论】:
标签: sas