我正在尝试根据个人的受教育年限对给定的数据集进行子集化。特别是,我想为只有15年或16年教育的个人制作一个较小的数据集。
但是,当我尝试通过命令|包括两个可能的值,它给了我整个样本。如果我将数据子集分配给只有15年或16年教育的个人,则情况并非如此,因为它似乎在这里可以正常工作。但是,当我同时将两者都包括在内时,情况并非如此。
我使用的代码行就是这个
dataset_final <- subset(dataset_trade , Q119 == 15 | 16 )
您知道什么可能导致问题吗?
答案 0 :(得分:3)
由于您提出以下要求,因此您需要更正逻辑表达式:
Q119 == 15 OR 16
16是非零值,所以是真的
所以你问Q119 == 15 OR TRUE
这将返回整个集合,因为所有内容(零值除外)均为TRUE
尝试:
dataset_final <- subset(dataset_trade , Q119 == 15 | Q119 == 16 )
答案 1 :(得分:3)
这是一种完全避免|
的方法。
dataset_final <- subset(dataset_trade, Q119 %in% c(15, 16))
随着可能值数量的增加,这变得越来越容易。