fao_settings(lang = "zh") # 本文所有图表使用中文fao_data_info()查看你使用的版本和引用格式。
这些函数以fishing_area_data()返回的渔区数据(这里是27渔区)为输入,聚焦于单个物种或单个国家。country_analysis()则分析一个国家在全部FAO渔区的捕捞情况。
FAO27 <- fishing_area_data("Atlantic, Northeast")1️⃣ species_country():某个物种由哪些国家捕捞
物种名必须与FAO物种名称完全一致;不妨先看看该渔区的主要物种:
top <- aggregate(Production ~ ASFIS.species..Name., data = FAO27$area_data, FUN = sum)
head(top[order(-top$Production), "ASFIS.species..Name."], 10)
#> [1] "Atlantic herring" "Atlantic cod"
#> [3] "Capelin" "Blue whiting(=Poutassou)"
#> [5] "Atlantic mackerel" "Sandeels(=Sandlances) nei"
#> [7] "European sprat" "Saithe(=Pollock)"
#> [9] "Haddock" "Norway pout"
cod <- species_country(FAO27$area_data, species_name = "Atlantic cod")文件名中的<species>是把物种名中的空格和标点替换为_后的名称(如Atlantic_cod):
| 文件 | 图表 |
|---|---|
<species>_country_map.png |
世界地图:各国历年累计的该物种产量 |
species/<species>_country_ranked_total.png |
所选国家(默认为前十名)的总产量及占比 |
species/<species>_country_ranked.png |
这些国家的产量随时间的变化 |
species/<species>_country_ranked_wrap.png |
每个国家一个分面,标出占比、线性趋势和平均产量的突变点(设置timeseries_analysis = FALSE时为平滑曲线) |
species/<species>_country_pie_selected.png |
主要国家在各年代以及当前年代逐年的占比(最多四个国家,其余合并) |
表格tables/<species>_country_ranked_table.csv列出每个国家各年代的平均产量、最近五年的产量,以及最后一年的占比:
table <- read.csv("tables/Atlantic_cod_country_ranked_table.csv",
fileEncoding = "UTF-8-BOM", check.names = FALSE)
show_table(table, n = 10, digits = 0)| Country..Name. | 1950s | 1960s | 1970s | 1980s | 1990s | 2000s | 2010s | 2020s | 2020 | 2021 | 2022 | 2023 | 2024 | total_2024_production | percentage_of_total_2024 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 丹麦 | 49,390 | 78,840 | 138,487 | 165,392 | 73,986 | 33,334 | 22,034 | 5,230 | 6,996 | 4,448 | 3,654 | 5,440 | 5,610 | 5,610 | 1 |
| 俄罗斯联邦 | NA | NA | NA | NA | 214,118 | 196,751 | 364,080 | 300,680 | 314,422 | 353,303 | 334,655 | 277,721 | 223,297 | 223,297 | 29 |
| 冰岛 | 265,890 | 246,870 | 282,864 | 365,598 | 250,113 | 205,186 | 235,340 | 247,559 | 278,442 | 272,045 | 243,991 | 221,009 | 222,309 | 222,309 | 29 |
| 大不列颠及北爱尔兰联合王国 | 427,430 | 358,120 | 275,555 | 112,584 | 69,885 | 25,002 | 29,324 | 18,373 | 24,762 | 13,001 | 15,645 | 19,051 | 19,404 | 19,404 | 3 |
| 德国 | 121,200 | 89,570 | 103,867 | 57,171 | 28,332 | 17,077 | 15,114 | 9,676 | 11,507 | 9,187 | 9,900 | 9,085 | 8,699 | 8,699 | 1 |
| 挪威 | 240,370 | 255,160 | 383,889 | 277,006 | 285,810 | 222,616 | 387,177 | 313,285 | 330,767 | 381,594 | 353,966 | 293,408 | 206,691 | 206,691 | 27 |
| 法国 | 43,990 | 32,530 | 50,235 | 31,332 | 18,433 | 8,751 | 10,046 | 5,288 | 6,659 | 4,710 | 4,995 | 4,601 | 5,474 | 5,474 | 1 |
| 法罗群岛 | 50,750 | 20,140 | 38,589 | 51,879 | 36,275 | 38,108 | 34,271 | 29,977 | 34,510 | 29,453 | 28,542 | 29,504 | 27,875 | 27,875 | 4 |
| 波兰 | 48,440 | 53,090 | 66,401 | 71,149 | 24,222 | 16,289 | 14,938 | 1,069 | 1,800 | 3,164 | 129 | 148 | 104 | 104 | 0 |
| 苏联 | 382,090 | 407,780 | 341,246 | 170,941 | 21,676 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
设置timeseries_analysis = TRUE时,函数返回一个包含两个数据框的列表:所选国家逐年的产量(cod[[1]])和它们的突变点(cod[[2]]:每个时段的起始年、结束年和平均产量);设置timeseries_analysis = FALSE时只返回前者。
参数
| 参数 | 含义 | 默认值 |
|---|---|---|
area_data |
渔区产量数据:fishing_area_data()$area_data或load_fao_data()的任意子集 |
|
species_name |
FAO物种名(ASFIS英文名,与数据中一致) | |
rank_range |
显示的国家名次(按该物种历年总产量排序):1:10为前十名,c(5, 6)为第五和第六名 |
1:10 |
plot |
保存图表 | TRUE |
table |
在tables/中保存表格 |
TRUE |
timeseries_analysis |
TRUE:分面图显示线性趋势和突变点;FALSE:分面图显示平滑(loess)曲线 |
TRUE |
h_value |
相邻突变点之间时段的最短长度:占序列的比例或年数 | 0.15 |
polygon_color |
地图上国界线的颜色 | "grey90" |
fill_scale |
地图色板,可用fao_settings()中map_palette的任一取值 |
NULL:fao_settings()中的map_palette("deep-orange") |
axis_title_face |
地图坐标轴标题的字形 | "bold" |
axis_title_size_map |
地图坐标轴标题的字号 | 14 |
axis_text_size_map |
地图坐标轴标签的字号 | 12 |
legend_text_size_map |
地图图例文字的字号 | 12 |
axis_text_size、axis_title_size
|
其他图表坐标轴标签和标题的字号 |
10、12
|
strip_text_size、strip_text_face
|
分面标题的字号和字形 |
12、"bold"
|
ZH |
指定中文的旧方式:TRUE等同于lang = "zh"
|
FALSE |
lang |
图表文字和名称的语言:"en"、"zh"或"both"
|
NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言 |
pptx |
同时保存可编辑的PowerPoint文件 |
FALSE,或fao_settings()中的pptx
|
plot_show |
保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) |
FALSE,或fao_settings()中的plot_show
|
在当前版本中,species_country()的排名图、时间序列图、分面图和饼图使用固定的字号:axis_text_size、axis_title_size、strip_text_size和strip_text_face可以传入,但不会改变这些图。地图的参数有效。
有些国家的金枪鱼产量序列较短;把h_value设大一些,突变点会更清晰:
species_country(FAO27$area_data, species_name = "Atlantic bluefin tuna", h_value = 5, lang = "zh")2️⃣ country_species():某个国家在渔区内捕什么
norway <- country_species(FAO27$area_data, country_name = "Norway")文件名中的<country>是把国家名中的空格和标点替换为_后的名称:
| 文件 | 图表 |
|---|---|
country/<country>_species_ranked_total.png |
该国所选物种(默认为前十名)的总产量及占比 |
country/<country>_species_ranked.png |
这些物种的产量随时间的变化 |
country/<country>_species_ranked_wrap.png |
每个物种一个分面,标出占比、趋势和突变点 |
country/<country>_species_pie_selected.png |
各物种在各年代以及当前年代逐年的占比 |
tables/<country>_country_ranked_table.csv |
每个物种各年代的平均产量、最近五年的产量和最后一年的占比 |
函数返回所选物种逐年的产量。
time_analysis_text_displacement用来移动分面图中占比标签的位置(以首次出现产量后的年数计),当标签与曲线重叠时很有用:
country_species(FAO27$area_data, country_name = "Spain", h_value = 5,
time_analysis_text_displacement = 6, lang = "both")| 参数 | 含义 | 默认值 |
|---|---|---|
area_data |
渔区产量数据:fishing_area_data()$area_data或load_fao_data()的任意子集 |
|
country_name |
FAO国家名,与数据中一致 | |
rank_range |
显示的物种名次(按该国历年总产量排序):1:10为前十名,c(5, 6)为第五和第六名 |
1:10 |
plot |
保存图表 | TRUE |
table |
在tables/中保存表格 |
TRUE |
timeseries_analysis |
TRUE:分面图显示线性趋势和突变点;FALSE:分面图显示平滑(loess)曲线 |
TRUE |
time_analysis_text_displacement |
分面图中占比标签的位置:首次出现产量后的年数 | 10 |
h_value |
相邻突变点之间时段的最短长度:占序列的比例或年数 | 0.15 |
ZH |
指定中文的旧方式:TRUE等同于lang = "zh"
|
FALSE |
lang |
图表文字和名称的语言:"en"、"zh"或"both"
|
NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言 |
pptx |
同时保存可编辑的PowerPoint文件 |
FALSE,或fao_settings()中的pptx
|
plot_show |
保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) |
FALSE,或fao_settings()中的plot_show
|
3️⃣ country_analysis():某个国家在全部FAO渔区的捕捞
country_analysis()使用一个国家在全部FAO渔区的产量,因此只需提供国家名:
norway_global <- country_analysis(country_name = "Norway")除了物种相关的图表(与country_species()相同,文件名为<country>analysis_...),它还会保存:
| 文件 | 图表 |
|---|---|
country/<country>fishing_area_map.png |
该国在各FAO渔区的总产量,绘制在FAO渔区地图上;该国本身以红色标出 |
country/<country>analysis_species_by_area.png |
主要物种的产量,按渔区拆分,并标出各渔区占该物种产量的比例 |
country/<country>analysis_area_total_production.png |
各渔区的总产量及占比 |
country/<country>yearly_area_production.png |
各渔区产量随时间的变化 |
country/<country>yearly_area_production_wrap.png |
每个渔区一个分面 |
tables/<country>analysis_country_ranked_table.csv |
每个物种各年代的平均产量、最近五年的产量和最后一年的占比 |
函数返回绘图所用的数据:
names(norway_global)
#> [1] "country_species_ranked" "country_species_ranked_coefs_data"
#> [3] "table" "country_species_area_total"
#> [5] "country_yearly_area_production"
show_table(norway_global$country_species_area_total, n = 8, digits = 1)| ASFIS.species..Name. | FAO.major.fishing.area..Name. | area_species_production | total_species_production | percentage_of_total |
|---|---|---|---|---|
| 大西洋鲱 | 东北大西洋 | 41,904,457.7 | 41,904,458 | 100.0 |
| 毛鳞鱼 | 东北大西洋 | 30,995,470.2 | 31,182,216 | 99.4 |
| 毛鳞鱼 | 西北大西洋 | 186,746.0 | 31,182,216 | 0.6 |
| 大西洋鳕 | 东北大西洋 | 22,086,713.3 | 23,039,382 | 95.9 |
| 大西洋鳕 | 西北大西洋 | 952,668.4 | 23,039,382 | 4.1 |
| 小鳍鳕 | 东北大西洋 | 16,072,409.4 | 16,072,409 | 100.0 |
| 大西洋鲭 | 东北大西洋 | 13,148,795.6 | 13,148,796 | 100.0 |
| 青鳕 Saithe(=Pollock) | 东北大西洋 | 12,242,719.4 | 12,242,806 | 100.0 |
| 元素 | 内容 |
|---|---|
country_species_ranked |
所选物种逐年的产量 |
country_species_ranked_coefs_data |
这些物种的突变点 |
table |
保存在tables/中的表格 |
country_species_area_total |
所选物种在各渔区的产量,以及各渔区占该物种产量的比例 |
country_yearly_area_production |
各渔区逐年的产量,以及占该国当年总产量的比例 |
| 参数 | 含义 | 默认值 |
|---|---|---|
country_name |
FAO国家名,与数据中一致 | |
rank_range |
显示的物种名次(按该国历年总产量排序):1:10为前十名,c(5, 6)为第五和第六名 |
1:10 |
plot |
保存图表 | TRUE |
table |
在tables/中保存表格 |
TRUE |
timeseries_analysis |
TRUE:物种分面图显示线性趋势和突变点;FALSE:显示平滑曲线 |
TRUE |
time_analysis_text_displacement |
分面图中占比标签的位置:首次出现产量后的年数 | 10 |
h_value |
相邻突变点之间时段的最短长度:占序列的比例或年数 | 0.15 |
ZH |
指定中文的旧方式:TRUE等同于lang = "zh"
|
FALSE |
fill_scale |
渔区地图的色板,可用fao_settings()中map_palette的任一取值 |
NULL:fao_settings()中的map_palette
|
lang |
图表文字和名称的语言:"en"、"zh"或"both"
|
NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言 |
data_version |
FAO数据版本:"latest"、"bundled"或具体版本号(如"2026.1.0",见💾 FAO数据) |
"latest" |
pptx |
同时保存可编辑的PowerPoint文件 |
FALSE,或fao_settings()中的pptx
|
plot_show |
保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) |
FALSE,或fao_settings()中的plot_show
|
突变点的识别方法见🌊
渔区分析(用strucchange::breakpoints()拟合各时段均值不变的模型)。
国家名采用FAO的名称,例如"Korea, Republic of"、"Russian Federation"、"Taiwan Province of China"。可以这样查找:grep("Korea", unique(load_fao_data()$Country..Name.), value = TRUE)。
📖 参考文献
Bai, J. and Perron, P. (2003). Computation and analysis of multiple structural change models. Journal of Applied Econometrics 18(1): 1–22. doi:10.1002/jae.659
FAO (2026). FishStat: Global capture production 1950–2024 (release 2026.1.0). In: FishStatJ. https://www.fao.org/fishery/statistics/software/fishstatj/en. Licence: CC-BY-4.0. Release file: https://www.fao.org/fishery/static/Data/Capture_2026.1.0.zip
FAO. ASFIS List of Species for Fishery Statistics Purposes. Rome: FAO. https://www.fao.org/fishery/collection/asfis/en
FAO (2024). FAO Major Fishing Areas for Statistical Purposes. In: FAO
Fisheries and Aquaculture Division [online]. Licence: CC-BY 4.0. https://www.fao.org/fishery/geonetwork?uuid=ac02a460-da52-11dc-9d70-0017f293bd28
(the area boundaries of the fishing area map, bundled as
inst/extdata/FAO_AREAS_CWP.shp)
Natural Earth. Admin 0 – Details, map units, 1:50m (the country outlines of the maps). https://www.naturalearthdata.com/downloads/50m-cultural-vectors/50m-admin-0-details/
Pebesma, E. (2018). Simple features for R: standardized support for spatial vector data. The R Journal 10(1): 439–446. doi:10.32614/RJ-2018-009
Zeileis, A., Kleiber, C., Krämer, W. and Hornik, K. (2003). Testing and dating of structural changes in practice. Computational Statistics & Data Analysis 44(1–2): 109–123. doi:10.1016/S0167-9473(03)00030-6
Zeileis, A., Leisch, F., Hornik, K. and Kleiber, C. (2002). strucchange: an R package for testing for structural change in linear regression models. Journal of Statistical Software 7(2): 1–38. doi:10.18637/jss.v007.i02
