Я довольно плохо знаком с 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,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
Как так, каждая строка представляет одного человека.Я хочу суммировать фрейм данных, чтобы добавить интервал 1 и интервал 2 для записей одного и того же вида, и выбрать самые высокие доказательства размножения.Пока что у меня есть:
library(dplyr)
df%>%
group_by(station,species)%>%
summarise_at(vars(interval1:interval2),sum)
, который работает и возвращает
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
Заранее благодарен за помощь!