【发布时间】:2020-11-17 08:22:42
【问题描述】:
我的数据是 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)
}
【问题讨论】:
-
您最好使用
group_by(Season)。最终目标是什么 -
虽然这是一种可能性,但我很想知道我拥有的当前代码可能存在什么问题。在我的分析中,我实际上是在循环 4 个因素,对于其中 2 个因素,这段代码可以满足我的要求,而对于 2 个因素却没有。
-
更新同一个对象似乎是个问题
-
您还可以检查是否有前导/滞后空格,因为
==检查完全匹配 -
是的,我早些时候确定了这一点:levels(DOC_data$Season)