我下面的代碼為我的資料集中的每個物種制作了一個圖,但我想知道是否有辦法將相對豐度加到每個檔案名的開頭。(例如,最豐富的物種的檔案是 "1_speciesA.",第二豐富的物種是 "2_speciesB.",等等)。
data < -結構(list(年= c(2019。 2019。 2019, 2019,, 2019, 2019, 2019,
2019, 2019,, 2019, 2019,, 2019, 2019,, 2019, 2019, 2019,
2019, 2019, 2020。 2020, 2020, 2020。 2020, 2020, 2020。 2020, 2020, 2020,
2020, 2020, 2020。 2020, 2020。 2020, 2020, 2020。 2020, 2020, 2020
)。 季節=結構(c(1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L,
2L, 2L。 2L, 2L。 2L, 2L。 2L, 2L。 2L, 2L。 1L, 1L。 1L, 1L。 1L, 1L, 1L,
1L,/span> 1L。 1L, 1L。 2L, 2L, 2L。 2L, 2L。 2L, 2L。 2L, 2L。 2L), 。 標簽 = c("dry",.
"wet")。 class = " factor")。 網站=結構(c(1L。 1L, 2L。 2L, 2L,
3L, 3L。 4L, 4L。 5L, 5L。 1L, 1L。 2L, 2L。 3L, 3L。 4L, 4L。 5L, 5L,
1L, 1L。 2L, 2L。 3L, 3L。 4L, 4L。 5L, 5L。 1L, 1L。 2L, 2L。 3L, 3L,
4L,/span> 4L。 5L, 5L), 。 標簽 = c("1"。 "2", "3"。 "4", "5")。 class = " factor"),
common_name =結構(c(1L。 2L, 1L。 2L, 1L, 2L。 1L, 2L,
1L,/span> 2L。 1L, 2L。 1L, 2L。 1L, 2L。 1L, 2L。 1L, 2L。 1L, 2L。 1L,
2L, 1L。 2L, 1L。 2L, 1L。 2L, 1L。 2L, 1L。 2L, 1L。 2L, 1L。 2L, 2L,
1L, 2L), 。 標簽 = c("hardhead silverside"。 "Sailfin molly" "Sailfin molly")。 class = "factor")。 num = c(0。 1。 0, 12, 0, 12。 0, 7, 0, 0,
13, 0,, 0, 0, 0, 0。 0, 0, 0。 0, 0。 0, 0, 0。 0, 0, 0, 0, 0,
0,/span> 0。 6, 0。 2, 0, 2。 0,/span> 15。 0,/span> 3, 0))。 class = "data. frame",行。 names = c(NA,)
-40L))
allcommon <- unique(/span>data$common_name)
#所有物種。
for(common in allcommon){>
# 選擇物種
sp <- subset(data,common_name == common,
選擇 = c(year,)
季節,
地點,
common_name,
num))
cdata2 <- plyr:: ddply(sp, c("年"。 "季節"),總結,
N = length(num),
n_mean = mean(num),
n_median =中位數(num),
sd = sd(num),/span>
se = sd / sqrt(N))
cdata2 <-cdata2 %> % mutate(year=ifelse(季節=="濕"。 年 0。 5,年))。
ggplot(cdata2, aes(x = year。 y = n_mean。 color = season))
geom_errorbar(Aes(ymin=n_mean-se, ymax=n_mean se),
寬度=.2,
color = "black")
geom_point(color = "black",
形狀 = 21,
size = 3,
aes(fill = season))
scale_x_continuous(breaks=c(2005。 2006, 2007, 2008, 2009, 2010,2011, 2012。 2013, 2014, 2015,2016, 2017。 2018,2018,2019。 2020))
labs(x= NULL。 y = "Mean count")
ggtitle(common)
setwd('E:/.../Trend plots/Test')
ggsave(paste0(common, "- IBBEAM_trend_plot。 png"),
高度= 5, 寬度=7。 單位 = "in")
}
uj5u.com熱心網友回復:
你可以在你的for-loop之前這樣計算物種等級:
abund < -聚合(num ~ common_name。 資料=資料,FUN = sum)
豐< -豐度[順序(豐度$num。 遞減= TRUE), ]
豐度$等級<- 1:nrow(豐度)
豐富
#> common_name num rank
#> 2 Sailfin molly 45 1.
#> 1 Hardhead silverside 28 2。
然后用一個等級值更新你的ggsave()檔案名:
ggsave()
paste0(abund[abund$common_name == common。 "等級"]。 "_", common, "_IBBEAM_trend_plot. png"),
高度= 5, 寬度=7。 單位 = "in")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/312042.html
標籤:
