R |(或)命令不使用子集命令

R |(或)命令不使用子集命令,r,R,我试图根据个人受教育年限对给定数据集进行子集划分。特别是,我想用一个只有15或16年教育经历的个人制作一个较小的数据集 但是,当我试图通过命令|包含这两个可能的值时,它会返回整个示例。如果我将数据分为只有15或16年教育的个体,情况就不是这样了,因为在这里它似乎是正确的。但当我同时包含这两个时,情况就不一样了 我使用的代码行就是这一行 dataset_final <- subset(dataset_trade , Q119 == 15 | 16 ) 知道问题的原因吗?您需要更正逻辑表

我试图根据个人受教育年限对给定数据集进行子集划分。特别是,我想用一个只有15或16年教育经历的个人制作一个较小的数据集

但是,当我试图通过命令|包含这两个可能的值时,它会返回整个示例。如果我将数据分为只有15或16年教育的个体,情况就不是这样了,因为在这里它似乎是正确的。但当我同时包含这两个时,情况就不一样了

我使用的代码行就是这一行


dataset_final <- subset(dataset_trade , Q119 == 15 | 16 )


知道问题的原因吗?

您需要更正逻辑表达式,因为您会问:

Q119 == 15    OR    16
16是一个非零值,所以它是真的

所以你问Q119==15或者是真的

它返回整个集合,因为除零值以外的所有值都为真

尝试:

这里有一个完全避免的方法

dataset_final <- subset(dataset_trade, Q119 %in% c(15, 16))
<> P>随着可能的数值的增长,这变得更容易和更容易。请考虑使用一个最小的、完整的、可验证的例子来回答问题。查看有关R特定MCVE的提示。即使是小任务,它也会有帮助。您可以使用mtcars之类的示例数据帧,它们已经内置。
dataset_final <- subset(dataset_trade, Q119 %in% c(15, 16))