首页 > 解决方案 > 具有某一列的某些值并排除另一列的一个值的数据子集

问题描述

我需要创建我的数据集的一个子集,其中仅包括疟疾 = 0 和 1(不是 2)的鸟类,并从模型中排除 IIWI。

我试过这个:

datPox2 <- subset(datPox, Malaria = 0 & 1)
datPox2

但这并没有消除 Malaria 列中的 2。我也不知道如何排除一个物种而留下其他三个。

这是我的数据示例:

Site    Species Bandno  Date    Sex Age Oldpox  Activepox   Malaria Elev
1   AIN APAP    159174793   7/22/2004   U   H   0   0   2   mid
2   AIN APAP    159174964   7/6/2004    M   H   0   1   2   mid
3   AIN HAAM    165180406   3/1/2002    M   A   0   0   0   mid
4   AIN HAAM    165180406   7/2/2003    M   A   0   0   1   mid
5   AIN JAWE    224018088   6/18/2002   U   H   0   0   2   mid
6   AIN JAWE    224018089   6/18/2002   U   H   0   0   2   mid
7   KUL IIWI    151129162   4/29/1993   M   H   0   0   0   high
8   KUL IIWI    151129162   10/8/1993   M   H   0   0   0   high
9   KUL IIWI    151129162   3/7/1994    M   A   0   0   0   high
10  KUL IIWI    151129162   4/6/1994    M   A   0   0   0   high

标签: rsubset

解决方案


dplyr 版本

library(dplyr)

datPox %>%
  filter(Malaria  != 2)

   Site Species    Bandno      Date Sex Age Oldpox Activepox Malaria Elev
3   AIN    HAAM 165180406  3/1/2002   M   A      0         0       0  mid
4   AIN    HAAM 165180406  7/2/2003   M   A      0         0       1  mid
7   KUL    IIWI 151129162 4/29/1993   M   H      0         0       0 high
8   KUL    IIWI 151129162 10/8/1993   M   H      0         0       0 high
9   KUL    IIWI 151129162  3/7/1994   M   A      0         0       0 high
10  KUL    IIWI 151129162  4/6/1994   M   A      0         0       0 high

基础 R 版本

datPox[datPox$Malaria != 2,]

   Site Species    Bandno      Date Sex Age Oldpox Activepox Malaria Elev
3   AIN    HAAM 165180406  3/1/2002   M   A      0         0       0  mid
4   AIN    HAAM 165180406  7/2/2003   M   A      0         0       1  mid
7   KUL    IIWI 151129162 4/29/1993   M   H      0         0       0 high
8   KUL    IIWI 151129162 10/8/1993   M   H      0         0       0 high
9   KUL    IIWI 151129162  3/7/1994   M   A      0         0       0 high
10  KUL    IIWI 151129162  4/6/1994   M   A      0         0       0 high

排除 IIWI

datPox %>%
  filter(Malaria  != 2, Species != "IIWI")

  Site Species    Bandno     Date Sex Age Oldpox Activepox Malaria Elev
3  AIN    HAAM 165180406 3/1/2002   M   A      0         0       0  mid
4  AIN    HAAM 165180406 7/2/2003   M   A      0         0       1  mid

推荐阅读