• Быстрое автоматическое построение простого почвенного профиля в R

    Заметка о том, как можно быстро и просто создать простую визуализацию почвенного профиля, если времени на разбор новых программ нет. Главное правильно подготовить исходные данные в Exel.

    В свое время было задание построить простенький профиль по данным ручного почвенного бурения. Необходимо было сделать быстро, четко, без особых заморочек и излишеств. Разбираться в новых программах не было времени (да и особого желания тоже).

    Поэтому, вспомнив про R и RStudio я решил снова стать «тыжпрограммистом» и попробовать своими руками сделать мало-мальский автоматически построенный и похожий на почвенный профиль по материалам моих полевых выездов.

    Не будучи великим почвоведом, с горем пополам удалось как-то распознать то, что выявили в результате бурения ручным буром. Мы обследовали почвы в межбугровых котловинах Приволжского района Астраханской области.
    В качестве примера я приведу несколько точек по одной маршрутной линии. Точки бурения были заложены на равном расстоянии друг от друга между двумя буграми Бэра.

    По результатам было спроектировано следующее:
    R_soil-plot

    Все создавалось в среде RStudio на языке R. Как видно, RStudio очень схож со Spyder и в них мне работать привычнее (не знаю, хорошо это или плохо). R_soil_project

    Полный исходный .r-код доступен по ссылке.

    Первостепенно, что необходимо сделать, это, конечно, подготовить исходные данные в Exel. Причем это сделать нужно аккуратно и правильно. Необходимо чтобы каждый столбец был отделен друг от друга, был поставлен разделитель «ЗАПЯТАЯ», каждая информация как по строке, так и по столбцу была согласована. Выходной файл нужно сохранить в формате .csv, так как он является отправным пунктом в нашей программе.

    Я сделал это так:

    Рассмотрим теперь процесс анализа и визуализации более подробно. Начнем с самого начала нашей программы.

     
     
    encoding = «utf-8»
    
    require(aqp)
    require(RColorBrewer)
    require(latticeExtra)
    require(plyr)
    require(reshape)
     
    

    Данные первые строчки кода говорят о том, что мы работаем в кодировке utf-8. Остальные строки это запрос необходимых библиотек, которые мы используем в нашей программе. Необходимо проверить, чтобы все они были установлены и согласованы с версией языка R.

    Далее мы подключаемся к нашей папке с подготовленным .csv файлом и передаем ее нашей программе для чтения, где позже «dat» – переменная (объект) с нашими файлами.
     
     
    setwd(«E:/R/soil/hill depressions»)
    dat <- read.csv(paste(c(getwd(), «/Soil_Hole2.csv»), collapse=“„), 
                    stringsAsFactors = FALSE, encoding = «UTF-8»)
    
    str(dat)
    dat <- within(dat,  label <- paste(name))
    print(dat)
    depths(dat) <- id ~ top + bottom
     
    

    Функция str(dat) позволяет вывести внутреннюю структуру объекта (в нашем случае dat), то есть посмотреть что из себя представляет каждый столбец, а print(dat) – выводит всю информацию.

    R_soil_functions

    Опубликовано · Автор