汇总计数数据并返回R中因子的最高级别
我对R相当陌生,我有一个数据框架,其中包括在各个站点检测到的个体鸟类数量,以及每个个体的繁殖证据(一个有序因子)。它看起来像这样:汇总计数数据并返回R中因子的最高级别,r,dplyr,R,Dplyr,我对R相当陌生,我有一个数据框架,其中包括在各个站点检测到的个体鸟类数量,以及每个个体的繁殖证据(一个有序因子)。它看起来像这样: station<-c('stn1','stn1','stn1','stn1','stn1','stn2','stn2') species<-c('PBGR','PBGR','SORA','SORA','SORA','LCSP','SORA') interval1<-c(0,0,1,1,0,1,0) interval2<-c(1,1,0,0,1
station<-c('stn1','stn1','stn1','stn1','stn1','stn2','stn2')
species<-c('PBGR','PBGR','SORA','SORA','SORA','LCSP','SORA')
interval1<-c(0,0,1,1,0,1,0)
interval2<-c(1,1,0,0,1,0,1)
breeding.evidence<-c('A','A','S','S','D','S','S')
breeding.evidence<-factor(breeding.evidence,levels=c('S','D','A'))
df<-data.frame(station,species,interval1,interval2,breeding.evidence)
>df
station species interval1 interval2 breeding.evidence
1 stn1 PBGR 0 1 A
2 stn1 PBGR 0 1 S
3 stn1 SORA 1 0 S
4 stn1 SORA 1 0 S
5 stn1 SORA 0 1 D
6 stn2 LCSP 1 0 S
7 stn2 SORA 0 1 S
哪个有效,哪个回报
station species interval1 interval2
1 stn1 PBGR 0 2
2 stn1 SORA 2 1
3 stn2 LCSP 1 0
4 stn2 SORA 0 1
但是我已经失去了繁殖的证据,我尽可能地尝试,我不知道什么代码可以工作。最后我想说的是:
station species interval1 interval2 breeding.evidence
1 stn1 PBGR 0 2 A
2 stn1 SORA 2 1 D
3 stn2 LCSP 1 0 S
4 stn2 SORA 0 1 S
提前感谢您的帮助 也许您可以定义另一个变量,设置育种的顺序。证据如下所示
df <- df %>%
mutate(ind = case_when(breeding.evidence == "A"~1L,
breeding.evidence == "D"~2L,
breeding.evidence == "S"~3L,
TRUE~NA_integer_))
输出
#一个tible:4 x 5
#组别:车站[?]
站点物种间隔1间隔2繁殖。证据
1 stn1 PBGR 0 2 A
2 stn1 SORA 2 1 D
3 stn2 LCSP 1 0 S
4 stn2 SORA 0 1 S
繁殖。证据在您的实际数据集中具有相同的3个级别?在您的数据集中,相同的站
和物种
属于两种不同的繁殖。证据
(1 stn1 PBGR 0 1 A
2 stn1 PBGR 0 1 S
)。所以我不确定你如何能得到你的结果。谢谢,这是非常有帮助的!事实上,我只需要在因子中添加一个有序的=T参数(breeding.evidence…),而您建议的左键连接非常有效。
df <- df %>%
mutate(ind = case_when(breeding.evidence == "A"~1L,
breeding.evidence == "D"~2L,
breeding.evidence == "S"~3L,
TRUE~NA_integer_))
df%>%
group_by(station,species)%>%
summarise_at(vars(interval1:interval2),sum) %>%
left_join(df %>%
group_by(station, species) %>%
arrange(ind) %>%
summarise_at(vars(breeding.evidence), funs(first)))
# A tibble: 4 x 5
# Groups: station [?]
station species interval1 interval2 breeding.evidence
<fct> <fct> <dbl> <dbl> <fct>
1 stn1 PBGR 0 2 A
2 stn1 SORA 2 1 D
3 stn2 LCSP 1 0 S
4 stn2 SORA 0 1 S