我想总结一下每个物种符合一定条件的数量,以便进一步分析。
这是数据示例
df <- data.frame(Species = c("BRK","BRK","BRK","RGN","BRK","RGN"),
Length = c(4.2,4.4,5.3,1.6,5.9,8.2))
我想按物种分组并总结每个物种大于特定长度(例如 4.5)和小于特定长度(<4.5).
我希望生成的 df 看起来像这样:
df1 <- data.frame(Species = c("BRK","RGN"), Gtr_4.5 = c(2,1), Less_4.5 = c(2,1))
我可以通过过滤和汇总然后合并数据来获得所需的结果,但我知道有一种方法可以使用分组和汇总的组合来做到这一点。
这是我尝试过的示例以及我遇到的困难
summary <- df %>% group_by(Species) %>% summarize(Total_Captured = n())
我不知道如何根据长度条件进行总结。
你可以试试
df %>%
reframe(
Gtr_4.5 = sum(Length > 4.5),
Less_4.5 = sum(Length < 4.5),
.by = Species
)
或
df %>%
summarise(
Gtr_4.5 = sum(Length > 4.5),
Less_4.5 = sum(Length < 4.5),
.by = Species
)
你将获得
Species Gtr_4.5 Less_4.5
1 BRK 2 2
2 RGN 1 1