为 R 中的两个向量制作兼容(相等)的维度



我有一个名为类的向量,它是使用列表删除的分析的输出。 因此,类中包含的事例是整个数据集的子集 - 由于数据不完整,某些事例被删除。

选择是一个虚拟变量,在我的数据集中的每个事例中都会出现。 下面是我的数据的缩短示例。 每个观察任务都有一个唯一的事例 ID。

classes <- c(1,2,1,1,1,2,3,3,3,1,1,1,3,3,2,2,2)
selection <- c(1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,0,1,0)
case <-seq(1,26,1)

我想创建一个新版本的选择(例如,selection2(,以便它只包含类中的情况。 基本上,出于比较目的,我希望两个变量的长度相同,其中未包含在类中的情况也不包含在 selection2 中。

我认为这将很容易解决,但我花了很多时间一无所获,所以我想我会问。 提前感谢!

如果它们的长度相同,则简化版本必须具有 NA:

> selection2 <- selection
> is.na(selection2) <- !selection2 %in% classes
> selection2
 [1]  1 NA NA NA  1  1  1  1 NA NA NA NA NA  1  1  1  1 NA NA NA  1  1  1 NA  1 NA

最新更新