首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出依赖于排除数据的子集的过滤和计算

输出依赖于排除数据的子集的过滤和计算
EN

Stack Overflow用户
提问于 2017-10-12 22:58:23
回答 1查看 26关注 0票数 0

我有一个数据框架,其中每月的数据month关于草食动物寄生result的各种类型的寄生虫秩序'psitorder‘与水平“膜翅目”或“双翅目”。result要么是寄生食草动物的"p“,要么是”如果食草动物长到成年“,或者没有数据”因为食草动物在圈养中死亡“。

代码语言:javascript
复制
  df<-data.frame(month= c(rep(1, each=8), rep(2, each=6), 
      rep(3, each=6)),result= c(rep("p",each=3),rep("a",each=3) , 
      rep("",each=2),rep("p",each=3),rep("a",each=2), 
      rep("",each=1),rep("a",each=3), rep("",each=3)),
      psitorder= c(rep("Hymenoptera",each=2),rep("Diptera",each=1),
      rep("",each=5),rep("Hymenoptera",each=1),rep("Diptera",each=3), 
      rep("",each=2),rep("",each=6)))

我需要两个单独的数据,分别计算每个月的psit_freq的百分比寄生率psitorder的每个级别的子集。

我试过:

代码语言:javascript
复制
Hymenoptera_output<- 
  df  
  filter(psitorder!= "Diptera")%>%
  group_by(continuous_month)%>%
  summarise(psit_freq = sum(result == "psit")/sum(result== 
 "adult",result == "psit"))

Diptera_output<- 
  df  
  filter(psitorder!= "Hymenoptera")%>%
  group_by(continuous_month)%>%
  summarise(psit_freq = sum(result == "psit")/sum(result== 
 "adult",result == "psit"))

我没有得到正确的输出。输出不包括正确计算psit_freq所需的非膜翅目或双翅目数据.

我需要输出如下:

代码语言:javascript
复制
Hymenoptera_output<- data.frame(month= c(1,2,3), psit_freq= c(2/6, 
 1/5, 0))
Diptera_output<- data.frame(month= c(1,2,3), psit_freq= c(1/6, 
 3/5, 0))

Hymenoptera_output

#  month psit_freq
#1     1 0.3333333
#2     2 0.2000000
#3     3 0.0000000

Diptera_output

#  month psit_freq
#1     1 0.1666667
#2     2 0.6000000
#3     3 0.0000000
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-12 23:20:50

看来你需要:

代码语言:javascript
复制
df %>% 
    group_by(month) %>% 
    summarise(hym_freq = sum(psitorder == 'Hymenoptera')/sum(result %in% c('p', 'a')), 
              dip_freq = sum(psitorder == 'Diptera')/sum(result %in% c('p', 'a')))

# A tibble: 3 x 3
#  month  hym_freq  dip_freq
#  <dbl>     <dbl>     <dbl>
#1     1 0.3333333 0.1666667
#2     2 0.2000000 0.6000000
#3     3 0.0000000 0.0000000
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46720098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档