Обзорная статья

ИСПОЛЬЗОВАНИЕ R ДЛЯ КЛАССИФИКАЦИИ ГРАНУЛОМЕТРИЧЕСКИХ КЛАССОВ ПОЧВ И ПОСТРОЕНИЯ ДИАГРАММЫ ФЕРРЕ

Д.А. ГавриловORCID iD icon

Адрес: ФГБУН Институт почвоведения и агрохимии СО РАН, проспект Академика Лаврентьева, 8/2, г. Новосибирск, 630090, Россия

В статье приведен алгоритм пересчета размерности элементарных почвенных частиц по Н.А. Качинскому (1965) в международную градацию (2000-50-2 мкм) с использованием формулы Е.В. Шеина (2009) и построения диаграммы Ферре с помощью пакетов “soiltexture”, “plotrix” и “ggtern” в среде R. Преимуществом использования пакетов R является их свободное распространение, широкие возможности настройки диаграммы, получение опыта программирования в одном из распространенных языков для статистического анализа и построения научных иллюстраций.

Ключевые слова: гранулометрический состав почвы; диаграмма Ферре; R; текстурные классы почв

Цитирование: Гаврилов Д.А. Использование R для классификации гранулометрических классов почв и построения диаграммы Ферре // Почвы и окружающая среда. 2021. Том 4. № 1. e136. 10.31251/pos.v4i1.136

Введение

Методика расчета качественного показателя государственного задания «Комплексный балл публикационной результативности» (Методика …, 2020), заставляет отечественных ученых менять стратегию публикационной активности, при которой публикации в базах цитирования Scopus и Web of Science становятся значительно более приоритетными. В связи с этим остро встает вопрос о сопоставимости аналитических методов, применяемых традиционно при изучении почв в отечественной науке с методами, распространенными за рубежом.

Одним из фундаментальных свойств почв является гранулометрический состав. Разница во взглядах различных научных школ на диапазон размеров элементарных почвенных частиц и гранулометрические классы почв создают определенную трудность в понимании классификаций почв по грансоставу, применяемых в различных странах. В качестве примера на рисунке 1 показаны различия размеров фракций гранулометрического состава почв между отечественной и зарубежной классификациями.

Рисунок 1. Схема соотношения размеров элементарных почвенных частиц по: А – IUSS Working Group WRB (2015) и USDA; Б – Н.А. Качинскому (1965). Условные обозначения: Cl (Clay) – ил, FiSi (Fine Silt) – мелкая пыль, MeFi (Medium Silt) – средняя пыль, CoSi (Coarse Silt) – крупная пыль, Very FiSa (Very Fine Sand) – очень мелкий песок, FiSa (Fine Sand) – мелкий песок, CoSa (Coarse Sand) – крупный песок, Very CoSa (Very Coarse Sand) – очень крупный песок.

Рисунок 1. Схема соотношения размеров элементарных почвенных частиц по:

А – IUSS Working Group WRB (2015) и USDA; Б – Н.А. Качинскому (1965). Условные обозначения: Cl (Clay) – ил, FiSi (Fine Silt) – мелкая пыль, MeFi (Medium Silt) – средняя пыль, CoSi (Coarse Silt) – крупная пыль, Very FiSa (Very Fine Sand) – очень мелкий песок, FiSa (Fine Sand) – мелкий песок, CoSa (Coarse Sand) – крупный песок, Very CoSa (Very Coarse Sand) – очень крупный песок.

Однако эти трудности могут быть успешно преодолены. Е.В. Шеин (2009) показал физическую и статистическую основу для перехода от классификации элементарных почвенных частиц почв по Н.А. Качинскому (1965) к Международной классификации (IUSS Working Group WRB, 2015). С помощью линейной интерполяции им предложено несколько формул расчета содержания частиц диаметром <0,002 мм, основанных на содержании частиц 0,005 и 0,001 мм по Н.А. Качинскому:

Ф<0.002 = 0.57Ф<0,001+0.43Ф<0,005 (1)

Ф<0.002 = -1.148+0.43Ф<0,005+0.53Ф<0,001 (2)

Определенная сложность публикаций в зарубежных журналах связана и с визуализацией результатов гранулометрического анализа почв – необходимостью построения треугольника Ферре (ternary plot или triangle plot). На сегодняшний день разработано большое количество коммерческих программ, реализующих эту задачу (Origin Lab, Grapher и т.д.), но, чаще всего, использование программ требуют приобретение платной лицензии, которую зачастую вынужден покупать лично сам научный сотрудник.

В данной работе мы предлагаем решение рассмотренных проблем с помощью свободно распространяемых специализированных пакетов в среде R и формулы (1) В.Н. Шеина.

В работе не рассматривается алгоритм установки программ R (https://www.r-project.org/) и RStudio (https://www.rstudio.com/), т.к. в интернете существует огромное количество инструкций по их  скачиванию и установке.

РАСЧЕТ СОДЕРЖАНИЯ ФРАКЦИЙ ПО ФОРМУЛЕ Е.В. ШЕЙНА

Для загрузки данных в программу R необходимо предварительно подготовить таблицу с результатами гранулометрического анализа в любом табличном редакторе (Exel.xls, Calc.odt, Блокнот.txt и т.д.), где традиционные названия фракций по Н.А. Качинскому будут изменены на названия согласно таблице 1.

Таблица 1. Наименование элементарных почвенных частиц (ЭПЧ) в табличном редакторе

Наименование ЭПЧ Диаметр, μm Наименование ЭПЧ в таблице
Песок очень крупный и крупный*

2000-1000

VeryCoarse_CoarseSand

Песок крупный и средний

1000-250

CoarseSand_MeduimSand

Песок мелкий

250-50

FineSand

Пыль крупная

50-10

CoarseSilt

Пыль средняя

10-5

MediumSilt

Пыль мелкая

5-1

FineSilt

Ил

<1

ClayRus

Примечание.*здесь имеется в виду гравий (по Н.А. Качинскому), соответствующий размерам очень крупного и крупного песка по IUSS Working Group WRB (2015).

Разбор алгоритма расчетов и построение диаграммы будут произведены на примере гранулометрического состава чернозема южного солонцеватого (Haplic Chernozem), описание которого опубликовано  в книге «Почвы Кулундинской степи» (1967)[1].

Алгоритм действий

1. Загрузка данных в пр ограмму RStudio.

#1. Загрузка данных
#Установка пакета для загрузки данных из файлов в формате xlsx.
install.packages("readxl", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/Denis/Documents/R/win-library/4.0'
## (as 'lib' is unspecified)
## package 'readxl' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\Denis\AppData\Local\Temp\RtmpErSIPE\downloaded_packages
#Запуск пакета
library("readxl")

# Загрузка файла, подготовленного в формате *.xlsx, в таблицу под названием "Soil". Таблицу можно назвать любым именем, но в этом случае необходимо изменить ниже слово "Soil" на ваш вариант.
Soil<- read_excel("C:/Users/Denis/Desktop/Ternary plots/R/Chernozem_uzhnyi.xlsx")

#Просмотр загруженных данных
View(Soil)

Для удобства работы рекомендуется указать директорию, которая будет автоматически открываться при загрузке данных и сохранении результатов расчета или рисунков.

# Проверка директории, где будут сохряняться результаты расчётов
getwd()                             
## [1] "C:/Users/Denis/Desktop/Ternary plots/R"
# Назначение директории, где будут сохряняться результаты расчётов
setwd("C:/Users/Denis/Desktop/Ternary plots/R")

2. Расчёт содержания фракций CLAY, SILT, SAND по формуле Е.В. Шеина

В алгоритме использована формула (1) (Шеин, 2009). Но если необходимо применение другой формулы, то требуется модифицировать код.

После загрузки данных выполняется расчёт содержания фракций CLAY, SILT и SAND

# С помощью символа присвоения "<-" указываем как будут называться наши переменные в расчетах и какие данные столбцов таблицы "Soil" соответствуют этим переменным. Используя символ “$”, выбираем нужный столбец из таблицы "Soil".

          
FineSilt <- Soil$FineSilt                #Фракция 5-1 мкм        

# Ф<0.002=0.57Ф<0,001+0.43Ф<0,005

ClayRus<- 0.57*Soil$ClayRus
SiltRus<- 0.43*FineSilt
CLAY <- (ClayRus+SiltRus)
#Просмотр результатов расчета содержания фракции CLAY (< 2 мкм)
CLAY

В итоге в консоли получаем вектор с результатами расчета содержания фракции CLAY:

## [1] 27.830 28.511 30.347 24.708 24.200 24.166 20.850
# 2.2. Расчет фракции SAND (50-2000 мкм)
# С помощью символа присвоения "<-" указываем как будут называться наши переменные в расчетах и какие данные столбцов таблицы "Soil" соответствуют этим переменным. Используя символ “$”, выбираем нужный столбец из таблицы "Soil".
CoarseSand_MeduimSand <- Soil$CoarseSand_MeduimSand #Фракция 1000-250 мкм
FineSand <- Soil$FineSand #Фракция 250-50 мкм
VeryCoarse_CoarseSand <- Soil$VeryCoarse_CoarseSand #Фракция 2000-1000 мкм
# Фракция 50-2000 мкм
SAND <- (CoarseSand_MeduimSand+FineSand+VeryCoarse_CoarseSand)
#Просмотр результатов расчета содержания фракции SAND (50-2000 мкм)
SAND

В консоли появляется вектор с результатами расчета содержания фракции SAND:

## [1]  7.9  8.0  4.7 22.6 23.0 20.6 32.6
# 2.3. Расчет фракции SILT(2-50 мкм)
SILT <- (100-SAND-CLAY)# Фракция 2-50 мкм
SILT #Просмотр результатов расчета содержания фракции Silt (2-50 мкм)

Вектор с результатами расчета содержания фракции SILT:

## [1] 64.270 63.489 64.953 52.692 52.800 55.234 46.550

3. Классификация и построение треугольника Ферре

После получения расчетным способом содержания фракций приступаем к построению треугольника Ферре и определению гранулометрических классов образцов почвы. Для этого могут быть использованы пакеты “soiltexture” (3.1), “plotrix” (3.2) или ggtern (3.3).

3.1. Пакет "soiltexture"

#3. Построение треугольника Ферре и определение гранулометрических классов образцов почвы

#3.1. Пакет "soiltexture"
#Установка и запуск пакета "Soiltexture" для определения гранулометрических классов образцов почвы. Установка производится единожды.   
#Руководство: https://cran.r-project.org/web/packages/soiltexture/vignettes/soiltexture_vignette.pdf

install.packages("soiltexture", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/Denis/Documents/R/win-library/4.0'
## (as 'lib' is unspecified)
## package 'soiltexture' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\Denis\AppData\Local\Temp\RtmpErSIPE\downloaded_packages
#Запуск пакета "soiltexture"
library(soiltexture)

#3.1.1. Создание таблицы с результатами расчетов элементарных почвенных частиц
particle_soil1 <- data.frame(CLAY, SILT, SAND)
#Просмотр таблицы
particle_soil1

## CLAY SILT SAND
## 1 27.830 64.270  7.9
## 2 28.511 63.489  8.0
## 3 30.347 64.953  4.7
## 4 24.708 52.692 22.6
## 5 24.200 52.800 23.0
## 6 24.166 55.234 20.6
## 7 20.850 46.550 32.6
#Создание сводной таблицы с обозначение образцов, их глубин и содержанием фракций
table.all <- data.frame(Soil$Horizon, Soil$SampleID, Soil$Depth, SAND, SILT, CLAY)

#Просмотр сводной таблицы
table.all
##   Soil.Horizon Soil.SampleID Soil.Depth SAND   SILT   CLAY
## 1            А             7      10-20  7.9 64.270 27.830
## 2            A             6      10-20  8.0 63.489 28.511
## 3            A             5      25-35  4.7 64.953 30.347
## 4            B             4      70-80 22.6 52.692 24.708
## 5            B             3    110-120 23.0 52.800 24.200
## 6            C             2    150-160 20.6 55.234 24.166
## 7            C             1    188-195 32.6 46.550 20.850

Для экспорта сводной таблицы необходимо воспользоваться функцией write.table() с указанием названия, формата файла (.*txt) и места его сохранения. Экспортируемый файл можно открыть в любом табличном редакторе и использовать для публикации.

#Экспорт таблицы в файл *.txt с разделителем табуляции
write.table(table.all, "C:/Users/Denis/Desktop/Ternary plots/R/Table.all.txt", sep="\t", row.names=FALSE)

С помощью функции TT.plot() создаем треугольник гранулометрических классов почв, где в качестве аргумента class.sys = "", указывается национальная классификация гранулометрических классов почв, а в tri.data = , − источник данных. В пакете "soiltexture" возможно определение гранулометрических классов почв согласно двадцати одного вида национальных классификаций (рис.2.). В международной классификации принято использовать диаграмму Ферре Департамента сельского хозяйства США (USDA).

#3.1.2. Построение треугольника текстурных классов почвы
TernaryPlot1 <-  TT.plot(class.sys   = "USDA.TT",    #Выбор классификации    
        tri.data    = particle_soil1,                #Источник данных
        main        = "Soil texture triangle",       #Название диаграммы
        cex.axis = 1)                                #Размер шрифта подписи осей
Рисунок 2. Треугольники Ферре национальных классификаций гранулометрических классов почв, реализованные в пакете soiltexture (по, Moeys, 2018): а – USDA (США); б – USDA 1911 (США); в – European Soil Map; г – Бельгия; д – ‘Aisne‘ (Франция); е – International Soil Science Society; ж – ’landwirtschaftliche Böden’ (Германия); з – Standortserkundungsanweisung’ (SEA 1974) (Германия); и – Bodenartendiagramm (BK 1994) (Германия); к – Soil Survey of England and Wales texture triangle (Великобритания); л – Канада; м – Австралия; н – Румыния; о – Бразилия.

Рисунок 2. Треугольники Ферре национальных классификаций гранулометрических классов почв, реализованные в пакете "soiltexture" (по, Moeys, 2018): а – USDA (США); б – USDA 1911 (США); в – European Soil Map; г – Бельгия; д – ‘Aisne‘ (Франция); е – International Soil Science Society; ж – ’landwirtschaftliche Böden’ (Германия); з – Standortserkundungsanweisung’ (SEA 1974) (Германия); и – Bodenartendiagramm (BK 1994) (Германия); к – Soil Survey of England and Wales texture triangle (Великобритания); л – Канада; м – Австралия; н – Румыния; о – Бразилия.

При наличии результатов прямых измерений содержания пылеватой фракции размером 63-2 мкм возможно изменение диаграммы Ферре USDA с новой градацией (2000-63-2 мкм). Для этого необходимо запустить следующий код:

#3.1.3. Изменение градации фракции SILT с 50 на 63 мкм

# Шаг 1.
USDA63 <- TT.get("USDA.TT")
USDA63[[ "base.css.ps.lim" ]]
## [1]    0    2   50 2000
USDA63[[ "tri.css.ps.lim" ]]
## [1]    0    2   50 2000
# Шаг 2.
USDA63[[ "base.css.ps.lim" ]][3] <- 63
USDA63[[ "tri.css.ps.lim" ]][3] <- 63
TT.add( "USDA63.TT" = USDA63 )

# Шаг 3. Построение обновленного треугольника текстурных классов почвы
TT.plot(
  class.sys = "USDA63.TT", # Построение треугольника текстурных классов почвы USDA с границей между SAND и SILT 63 мкм
  main = "Новая диаграмма",   #Название диаграммы
  cex.axis = 1)            #Размер шрифта подписи
 
 #Треугольник сохраняется только на время сессии, т.е. до закрытия RStudio.
Рисунок 3. Треугольники Ферре гранулометрических классов почв согласно IUSS Working Group WRB (2014): А – с границей между SAND и SILT 50 мкм; Б – с границей между SAND и SILT 63 мкм.

Рисунок 3. Треугольники Ферре гранулометрических классов почв согласно IUSS Working Group WRB (2014): А – с границей между SAND и SILT 50 мкм; Б – с границей между SAND и SILT 63 мкм.

#3.1.4. Оформление диаграммы "Soil texture triangle"

#Раскрашивание текстурных квалификаторов почв согласно IUSS Working Group WRB (2015)

TT.plot(class.sys   = "USDA63.TT",      #Треугольник текстурных классов почвы                                           USDA с границей между SAND и SILT 63 мкм
        tri.data    = particle_soil1,          #Источник данных
        class.p.bg.col  = c("red","red","red","green","green","green","green","cyan","green","cyan","gold","gold"),  #Цвета областей текстурных классов
        pch = 23,                       #Вариант 1. Тип маркера для всех образцов
        #pch = c(1:7),                  #Вариант 2. Индивидуальный маркер для каждого образца. Удалите знак “#” и поставьте его перед предыдущей строкой кода.
        cex = 2,                        #Размер маркера
        col = "blue",                   #Вариант 1. Цвет образцов
        #col = c(1:7),                 #Вариант 2. Индивидуальные цвета для каждого образца
        main = "Soil texture triangle",  #Название диаграммы
        cex.axis = 1)                    #Размер шрифта подписи
# Список доступных цветов можно найти по ссылке:
#http://www.stat.columbia.edu/~tzheng/files/Rcolor.pdf

#Подписи образцов
geo<-TT.plot(class.sys   = "USDA63.TT",
             class.p.bg.col  = c("red","red","red","green","green","green","green","cyan","green","cyan","gold","gold"))  

TT.text(tri.data    = particle_soil1,
        geo         = geo,
        labels      = Soil$SampleID,  #Источник для подписей: столбец 'SampleID' из таблицы 'Soil'
        font        = 1,              #Размер шрифта
        col         = "black"         #Цвет шрифта
       )
Рисунок 4. Диаграммы гранулометрических классов почв с границей между SAND и SILT 63 мкм и цветными областями гранулометрических квалификаторов согласно IUSS Working Group WRB (2015).  Образцы обозначены на диаграмме: А – формой; Б – порядковым номером.

Рисунок 4. Диаграммы гранулометрических классов почв с границей между SAND и SILT 63 мкм и цветными областями гранулометрических квалификаторов согласно IUSS Working Group WRB (2015). Образцы обозначены на диаграмме: А – формой; Б – порядковым номером.

3.2. Пакет "plotrix"

Следующая возможность построения диаграммы Ферре реализована в пакете "plotrix". Пакет не разрабатывался специально для классификации почв по гранулометрическому составу, поэтому не обладает той широкой возможностью, что пакет "soiltexture" в реализации национальных классификаций гранулометрических классов почв.

#3.2. Пакет "plotrix"
#Установка и запуск пакета "plotrix" для определения гранулометрических классов образцов почвы. Установка производится единожды.
install.packages("plotrix", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/Denis/Documents/R/win-library/4.0'
## (as 'lib' is unspecified)
## package 'plotrix' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\Denis\AppData\Local\Temp\RtmpErSIPE\downloaded_packages
#Запуск пакета "plotrix"

library("plotrix")

Полученные расчеты по содержанию фракций SAND, SILT и CLAY на этапе (2), необходимо объединить в единую таблицу, в которой названия фракций будут написаны прописными буквами.

#3.2.1.  Трансформирование таблицы с результатами расчетов элементраных почвенных частиц

particle_soil2 <- data.frame(SAND, SILT, CLAY)

names(particle_soil2)[1]<- 'sand'            # Переименование первого столбца
names(particle_soil2)[2]<- 'silt'            # Переименование второго столбца
names(particle_soil2)[3]<- 'clay'            # Переименование третьего столбца

#Просмотр таблицы
particle_soil2
##   sand   silt   clay
## 1  7.9 64.270 27.830
## 2  8.0 63.489 28.511
## 3  4.7 64.953 30.347
## 4 22.6 52.692 24.708
## 5 23.0 52.800 24.200
## 6 20.6 55.234 24.166
## 7 32.6 46.550 20.850
#3.2.2. Построение треугольника текстурных классов почвы
#Руководство: https://cran.r-project.org/web/packages/plotrix/plotrix.pdf

TernaryPlot2 <- soil.texture(soiltexture=particle_soil2,        #Источник данных
             main="Soil texture triangle",      #Название диаграммы
             at=seq(0.1, 0.9, by=0.1),          
             axis.labels=c("Sand (%)", "Silt (%)", "Clay (%)"),          
             tick.labels=list(l=seq(10, 90, by=10), r=seq(10, 90, by=10),
                              b=seq(10, 90, by=10)),
             show.names=TRUE,              # Отображение названии классов почв
             show.lines=TRUE,              # Отображение границ между классами почв
             col.names="gray",             # Цвет надписей классов почв
             bg.names=par("bg"),           # Расположение надписей классов почв
             show.grid=TRUE,               # Отображение сетки на диаграмме
             col.axis="black",             # Цвет осей
             col.lines="gray",             # Цвет сетки классов почвы
             col.grid="gray", lty.grid=3,  # Цвет и размер сетки на диаграмме
             show.legend=FALSE,            # Отображение легенды
             label.points=TRUE,            # Отображение порядкового номера образца в таблице
             point.labels=NULL,            # Название образцов согласно их порядкового номера

             col.symbols="black",# Цвет надписи порядкового номера образца
             pch=21,                       # Форма маркера
             cex=2,                        # Размер маркера
             bg="red",           # Цвет маркера
             lwd=1)                        # Ширина линии обводки маркера
Рисунок 5. Треугольник Ферре гранулометрических классов почв согласно IUSS Working Group WRB (2015), созданный с помощью пакета “plotrix”.

Рисунок 5.Треугольник Ферре гранулометрических классов почв согласно IUSS Working Group WRB (2015), созданный с помощью пакета “plotrix”.

3.3. Пакет "ggtern"

Пакет "ggtern" является расширением, созданным для на основе популярного графического пакета "ggplot2". Пакет имеет широкие возможности по построению диаграммы Ферре (triangle plot) и визуализации результатов определения содержания гранулометрических фракций.

#3.3. Пакет "ggtern"
#Установка и запуск пакета "ggtern" для определения гранулометрических классов образцов почвы. Установка производится единожды.

install.packages("ggtern", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/Denis/Documents/R/win-library/4.0'
## (as 'lib' is unspecified)
## package 'ggtern' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\Denis\AppData\Local\Temp\RtmpErSIPE\downloaded_packages
install.packages("plyr", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/Denis/Documents/R/win-library/4.0'
## (as 'lib' is unspecified)
## package 'plyr' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'plyr'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): проблема с копированием
## C:\Users\Denis\Documents\R\win-library\4.0\00LOCK\plyr\libs\x64\plyr.dll в C:
## \Users\Denis\Documents\R\win-library\4.0\plyr\libs\x64\plyr.dll: Permission
## denied
## Warning: restored 'plyr'
## 
## The downloaded binary packages are in
##  C:\Users\Denis\AppData\Local\Temp\RtmpErSIPE\downloaded_packages
install.packages("grid", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/Denis/Documents/R/win-library/4.0'
## (as 'lib' is unspecified)
## Warning: package 'grid' is a base package, and should not be updated
#Запуск пакетов
library(ggtern)
## Loading required package: ggplot2
## Registered S3 methods overwritten by 'ggtern':
##   method           from   
##   grid.draw.ggplot ggplot2
##   plot.ggplot      ggplot2
##   print.ggplot     ggplot2
## --
## Remember to cite, run citation(package = 'ggtern') for further info.
## --
## 
## Attaching package: 'ggtern'
## The following objects are masked from 'package:ggplot2':
## 
##     aes, annotate, ggplot, ggplot_build, ggplot_gtable, ggplotGrob,
##     ggsave, layer_data, theme_bw, theme_classic, theme_dark,
##     theme_gray, theme_light, theme_linedraw, theme_minimal, theme_void
library(plyr)
library(grid)

#3.3.1. Построение треугольника текстурных классов почвы
  #Руководство: https://cran.r-project.org/web/packages/ggtern/ggtern.pdf
  #Официальный сайт разработчика: http://www.ggtern.com/2014/01/15/usda-textural-soil-classification/


# Загрузка сетки USDA.
data(USDA)

# Подпись текстурных классов почвы на диаграмме.
USDA.LAB = ddply(USDA, 'Label', function(df){
  apply(df[, 1:3], 2, mean)
})

# Настройка диаграммы
USDA.LAB$Angle = 0
USDA.LAB$Angle[which(USDA.LAB$Label == 'Loamy Sand')] = -35


# Конструирование диаграммы.
ggtern(data = USDA, aes(y=Clay, x=Sand, z=Silt)) +
  coord_tern(L="x",T="y",R="z") +
  geom_polygon(aes(fill = Label),
               alpha = 0.75, size = 0.5, color = 'black') +
  geom_text(data = USDA.LAB,
            aes(label = Label, angle = Angle),
            color = 'black',
            size = 3.5) +
  theme_rgbw() +
  theme_clockwise() +
  theme_showsecondary() +
  theme_showarrows() +
  custom_percent("Percent") +
  theme(legend.justification = c(0, 1),
        legend.position      = c(0, 1)) +
  guides(fill=FALSE)+
  ggtitle("Soil texture triangle")
#3.3.2. Конструирование таблицы с результатами расчетов элементарных почвенных частиц

particle_soil3 <- data.frame(CLAY, SAND, SILT)

#Просмотр таблицы
particle_soil3

##   CLAY    SAND SILT
## 1 27.830  7.9 64.270
## 2 28.511  8.0 63.489
## 3 30.347  4.7 64.953
## 4 24.708 22.6 52.692
## 5 24.200 23.0 52.800
## 6 24.166 20.6 55.234
## 7 20.850 32.6 46.550
#3.3.3. Нанесение эксперементальных измерений содержания элементарных частич почвы на диаграмму

TernaryPlot3  <- data.frame(SAND=runif(10),SILT=runif(10),CLAY=runif(10))

last_plot() + geom_point(data=particle_soil3,          #Источник данных
                         aes(y=CLAY,x=SAND,z=SILT),    #Присваивание координат переменным
                         shape = 19,                   #Вид маркера
                         colour ="red",      #Цвет маркера
                         size = 3)                     #Размер маркера
## Warning: Ignoring unknown aesthetics: z
Рисунок 6. Треугольники Ферре гранулометрических классов почв согласно IUSS Working Group WRB (2015), созданные с помощью пакета “ggtern”.

Рисунок 6. Треугольники Ферре гранулометрических классов почв согласно IUSS Working Group WRB (2015), созданные с помощью пакета “ggtern”.

#Если необходимо на диаграмме разместить один образец, то нужно в источнике данных указать конкретную строку из таблицы

last_plot() + geom_point(data=particle_soil3[1,],     #Источник данных - первая строка из таблицы
                         aes(y=CLAY,x=SAND,z=SILT),    #Присваивание координат переменным
                         shape = 19,                   #Вид маркера
                         colour ="red",                #Цвет маркера
                         size = 3)                     #Размер маркера
## Warning: Ignoring unknown aesthetics: z

Заключение

Предложенный вариант автоматизированного перевода размерности элементарных почвенных частиц по классификации Н.А. Качинского (1965) в Международную классификацию (IUSS Working Group WRB, 2015) с помощью одной из регрессивных формул Е.В. Шеина (2009) в среде R позволяет быстро провести сравнительный анализ текстурных классов образцов почв и визуализировать результаты определения гранулометрического состава. Исследователь получает возможность представить в своих публикациях результаты анализов в табличном формате или с помощью диаграммы Ферре. Кроме того, опыт работы с языком R позволит в дальнейшем расширить арсенал методов исследования за счет получения возможности проведения статистической обработки данных без привлечения стороннего дорогостоящего программного обеспечения.

 

[1] Скачать таблицу на персональный компьютер можно по ссылке: https://soils-journal.ru/public/site/images/redactor/136/Chernozem_uzhnyi.xlsx

Финансовая поддержка

Работа подготовлена по государственному заданию ИПА СО РАН при финансовой поддержке Министерства науки и высшего образования РФ.

Литература

Методика расчета качественного показателя государственного задания "Комплексный балл публикационной результативности" для научных организация подведомственных Министерству образования и науки Российской Федерации, на 2020 г. Москва, 30 декабря 2019 г.

Google Scholar | Полный текст


Почвы Кулундинской степи. Новосибирск: Наука, Сибирское отделение, 1967. 289 с.

Google Scholar


Качинский Н.А. Физика почв. Ч.1. М.: Наука, 1965.

Google Scholar


Шеин Е.В. Гранулометрический состав почв: проблемы методов исследования, интерпретации результатов и классификаций // Почвоведение. 2009. №3. С. 309–317.

Google Scholar


Moeys J. The soil texture wizard: R functions for plotting, classifying, transforming and exploring soil texture data. 2018. 104.

Google Scholar | Полный текст


IUSS Working Group WRB. 2015. World Reference Base for Soil Resources 2014, Update 2015. International Soil Classification System for Naming Soils and Creating Legends for Soil Maps (2015) update 2015. World Soil Resources Reports. Rome: FAO.

Google Scholar | Полный текст


Сведения об авторе:

Гаврилов Денис Александрович – кандидат биологических наук, старший научный сотрудник лаборатории географии и генезиса почв ФГБУН Института почвоведения и агрохимии СО РАН (г. Новосибирск, Россия); gavrilov@issa-siberia.ru

Автор прочитал и одобрил окончательный вариант рукописи

Лицензия Creative Commons Статья доступна по лицензии Creative Commons Attribution 4.0 License

 

USING R-SOFTWARE FOR CLASSIFICATION OF SOIL GRANULOMETRY CLASSES AND CREATING THE FERRERS DIAGRAMS

D.A. GavrilovORCID iD icon

Address: Institute of Soil Science and Agrochemistry of the Siberian Branch of the Russian Academy of Sciences, Novosibirsk, Russia

The article describes a detailed  algorithm to recompute the size of the elementary soil particles obtained by Kachinsky technique (a method conventionally used by Russian soil scientists) into the international granulometric size distribution pattern of 2000-50-2 µm using the formula introduced by E.V. Shein in 2009. The article also describes step-by-step procedures to create Ferrers diagrams using the soiltexture”, “plotrix” и “ggtern”packages in R environment. One of the advantages of R software is its free distribution and usage, vast range of options for the diagram settings, and, in the process of doing so, accruing the experience of working with a very popular language for statistical analysis and data visualization.

Key words: particle soil size; Ferrеrs diagram; R; texture soil classes

How to cite: Gavrilov D.A. Gavrilov D.A. Using R-software for classification of soil granulometry classes and creating the Ferrers diagrams // The Journal of Soil and Environment. 2021. 4(4). e136. 10.31251/pos.v4i1.136 (in Russian with English abstract).

References

Methodology for calculating the qualitative indicator of the state assignment "Comprehensive score of publication performance" for scientific organizations subordinate to the Ministry of Education and Science of the RIUSSian Federation, for 2020 Moscow, December 30, 2019 (in Russian)

Google Scholar | Full text


Soils of the Kulunda steppe. Novosibirsk: Nauka Publ., 1967. 289 p. (in Russian)

Google Scholar


Kachinskiy N.A. Soil physics. Part 1. Moscow: Nauka Publ., 1965. (in Russian)

Google Scholar


Shein E.V. Granulometric composition of soils: methods of laser difraction and sedimentometry, their comparison and use, Pochvovedenie, 2009, No3, p.309–317. (in Russian)

Google Scholar


Moeys J. The soil texture wizard: R functions for plotting, classifying, transforming and exploring soil texture data. 2018, 104.

Google Scholar | Full text


IUSS Working Group WRB. 2015. World Reference Base for Soil Resources 2014, Update 2015. International Soil Classification System for Naming Soils and Creating Legends for Soil Maps (2015) update 2015. World Soil Resources Reports. Rome: FAO.

Google Scholar | Full text


Received 07 May 2021; accepted 09 June 2021; published 13 June 2021

About the author:

Gavrilov Denis A. – Сandidate of Biological Sciences, Leading Researcher in the Laboratory of Geography and Soil Genesis in the Institute of Soil Science and Agrochemistry of the Siberian Branch of the Russian Academy of Sciences (Novosibirsk, Russia); gavrilov@issa-siberia.ru

The authors read and approved the final manuscript

 

Лицензия Creative Commons The article is available under Creative Commons Attribution 4.0 License


Метрика статьи


^ Наверх