首页 > 解决方案 > 按已知因子级别过滤数据会产生空数据框

问题描述

我的数据是 2000 条陷阱记录(见下图)。每个都附有一个赛季记录。季节被设置为一个因素。我想遍历季节的所有级别(“春季”、“夏季”、“冬季”)并按每个级别过滤数据以进行进一步分析。

> head(DOC_data)
  X         project TrapType     Trap1     Trap2 DateChecked  BaitedWith
1 1 Whirinaki River        7 Still Set Still Set  2015-12-15 Erayz / Egg
2 2 Whirinaki River        7 Still Set Still Set  2015-12-15 Erayz / Egg
3 3 Whirinaki River        7 Still Set Still Set  2015-12-15 Erayz / Egg
4 4 Whirinaki River        7 Still Set Still Set  2015-12-15 Erayz / Egg
5 5 Whirinaki River        7 Still Set Still Set  2015-12-15 Erayz / Egg
6 6 Whirinaki River        7 Still Set Still Set  2015-12-15 Erayz / Egg
    BaitedOn Status   TrapTypeText                  TrapID       x       y
1 2015-12-15   Open DOC 200 Double Whirinaki RiverLine 611 1922039 5709247
2 2015-12-15   Open DOC 200 Double Whirinaki RiverLine 612 1922112 5709188
3 2015-12-15   Open DOC 200 Double  Whirinaki RiverLine 91 1920547 5707391
4 2015-12-15   Open DOC 200 Double  Whirinaki RiverLine 92 1920519 5707480
5 2015-12-15   Open DOC 200 Double  Whirinaki RiverLine 93 1920489 5707584
6 2015-12-15   Open DOC 200 Double  Whirinaki RiverLine 94 1920469 5707672
  Season Year        Region N_S
1 Summer 2015 Bay of Plenty   N
2 Summer 2015 Bay of Plenty   N
3 Summer 2015 Bay of Plenty   N
4 Summer 2015 Bay of Plenty   N
5 Summer 2015 Bay of Plenty   N
6 Summer 2015 Bay of Plenty   N

我只包含了过滤数据的循环(如下),因为这是它不起作用的地方。在我的分析中,我实际上在过滤器之后还有更多行来分析数据子集。我之前已经让这个季节性过滤器与其他数据一起工作,所以我不明白我的错误在哪里。目前产生的输出是一个空的数据框,数据应该在其中。

for (y in levels(DOC_data$Season)){
  QEP_subset_year1 <- DOC_data %>% filter(Season == y)
  }

标签: rloopsfilter

解决方案


问题是我在循环中使用了'y',这一定是不行的。“x”是一样的。更改为 i ,一切都很好。

for (i in levels(DOC_data$Season)){
  QEP_subset_year1 <- DOC_data %>% filter(Season == i)
  }

推荐阅读