Logo Studenta

DTP2020

¡Este material tiene más páginas!

Vista previa del material en texto

Universidad Tecnológica de Panamá
Centro de Investigaciones Hidráulicas e Hidrotécnicas
Estimación de las distribuciones del tamaño de part́ıcula
del suelo a partir de mediciones de hidrómetro
José Ulises Jiménez, MSc.
Alexandra González
Lunes 11 de mayo de 2020
Resumen
Se presenta el uso de la función texture() del paquete R envalysis 0.4 (Steinmetz
2020). La función texture() facilita la estimación de las distribuciones del tamaño de
part́ıcula del suelo a partir de mediciones provenientes de ensayos mediante el método
del hidrómetro (D422-63 2007). Esta obra está sujeta a la Licencia Reconocimiento-
Compartir Igual 3.0 España de Creative Commons.
Jiménez y González, 2020
Índice
1. Introducción 3
1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Método del hidrómetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Paquete envalysis 5
3. Análisis de datos 6
3.1. Base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Las salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4. Clasificar datos de textura de suelo: USDA 12
4.1. Obtener la clase de suelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2. Obtener el triángulo de textura . . . . . . . . . . . . . . . . . . . . . . . . . 14
5. Trabajando con el código 15
6. Acerca de R 18
6.1. Créditos y Licencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Índice de figuras
1. Método del hidrómetro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Distribución del tamaño de part́ıculas finas. . . . . . . . . . . . . . . . . . . 10
3. Triángulo de textura de suelo. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4. Distribución del tamaño de part́ıculas finas. . . . . . . . . . . . . . . . . . . 17
2 de 33
Jiménez y González, 2020
1. Introducción
El presente texto trata sobre el análisis de datos provenientes de ensayos de suelo por el
método del hidrómetro para determinar las texturas con respecto a la clasificación USDA.
Un primer aspecto del análisis de datos granulométricos de suelo usando herramientas in-
formáticas creadas en R se presentó en el documento Funciones de R para graficar, clasificar
y explorar los datos de textura del suelo (Jiménez 2019). Alĺı se explicó el uso del paquete
de R soiltexture (Moeys 2018). El motivo de realizar estos materiales educativos, es el de dar
mayor visibilidad a las técnicas informáticas libres y gratuitas que son útiles en las tareas
que realizan nuestros estudiantes, técnicos, docentes e investigadores en ingenieŕıa.
Vamos a comenzar puntualizando que generalmente un suelo consiste en part́ıculas, agua y
aire (Verruijt 2017). El contenido de agua y aire es una condición que cambia fácilmente; los
suelos pueden estar perfectamente secos (sin contenido de agua) o completamente saturados
(sin contenido de aire) o parcialmente saturados (con aire y agua presentes). Por otro lado,
la distribución del tamaño de part́ıculas en principio no cambia en un punto dado; mientras
que si puede variar considerablemente de un punto a otro (Scott 2013).
A la distribución del tamaño de part́ıculas y el porcentaje en que se encuentran en un suelo se
conoce como textura; y es uno de los parámetros más importantes dentro de la f́ısica de suelo
en ámbitos agronómicos e ingenieriles (González, Coronado y Acosta 2007). Esta propiedad
es relacionada directa e indirectamente con la distribución de los poros, de aqúı, que la
misma puede también relacionarse con la aireación, la retención de humedad, la retención
de nutrientes, la erosionabilidad, entre otras (Gisbert Blanquer, Ibañez Asensio y Moreno
Ramón 2010). Dicho lo anterior, la textura de suelo puede tomarse como un indicador para
evaluar de la calidad de este recurso (Bautista-Cruz y col. 2004).
El análisis del tamaño de part́ıculas es ampliamente utilizado en la clasificación de suelos.
Los datos obtenidos de las curvas de distribución del tamaño de part́ıculas se utilizan para
determinar la idoneidad del suelo para la construcción de carreteras, edificaciones, etc (Mo-
rales González 2018) y en el ámbito agŕıcola, para el manejo y planificación del uso de suelo,
y el mejoramiento del rendimiento del cultivo (Villareal 2018).
Los datos que se utilizan en este manual provienen de ensayos de suelo veŕıdicos realizados
con el hidrómetro “ASTM Soil Hydrometer 152H”, dentro de las actividades del Proyecto
IOMA 17-006, de la tesis “Modelación de infiltración y caracterización de textura de suelo
en la subcuenca del Rı́o Estibaná”.
1.1. Objetivo
Presentar un conjunto de herramientas informáticas libres y gratis para la estimación de las
distribuciones del tamaño de part́ıcula del suelo a partir de mediciones de hidrómetro que
pueden ser útiles para los trabajos que realizan estudiantes, técnicos, docentes e investigadores
de la Universidad Tecnológica de Panamá.
3 de 33
Jiménez y González, 2020
1.2. Método del hidrómetro
El método del hidrómetro se fundamenta en la determinación cuantitativa en porcentaje de
la distribución del tamaño de las part́ıculas de las fracciones finas presentes en los suelos que
pasan el tamiz N° 200, o sea, part́ıculas de arena muy fina (0.005 mm a 0.075 mm), limo
(0.002 mm a 0.005 mm) y arcilla (menor a 0.002 mm) (Aguilar 2013).
Figura 1. Método del hidrómetro.
Este método se apoya en la Ley de Stokes, que se refiere a la fuerza de fricción experimentada
por objetos esféricos moviéndose en el seno de un fluido viscoso en un régimen laminar de
bajos números de Reynolds. En general, la ley de Stokes es válida en el movimiento de
part́ıculas esféricas pequeñas moviéndose a velocidades bajas (González, Coronado y Acosta
2007). A continuación, se describe brevemente en que consiste el método del hidrómetro.
El hidrómetro “ASTM Soil Hydrometer 152H” es un instrumento que se utiliza para medir
la densidad relativa de los ĺıquidos; el mismo, está construido de vidrio y consiste en un
cilindro hueco con un bulbo pesado. En uno de sus extremos está graduado en unidades de
densidad g L−1 de −0.5 a 60 con base en la escala de Bouyoucos y su función es hacer que
flote verticalmente el bulbo (Bouyoucos 1927).
El análisis granulométrico por el método del hidrómetro comienza con la preparación de las
muestras. Primero, se secan las muestras de suelo por 24 horas a 110 °C. Luego, con la ayuda
de un mortero y pilón, se golpea suavemente el suelo para eliminar los terrones. Después, se
pasa por el tamiz N° 200, hasta alcanzar 50 g de cada muestra (Aguilar 2013).
Se prepara una solución de Hexametafosfato de Sodio al 4 % (se disuelven 50 g (NaPO 3)6 en
1250 mL de agua destilada). La solución preparada alcanza para el ensayo de 10 muestras de
suelo de 50 g. A cada muestra tamizada se le añade una solución de (NaPO 3)6 al 4 % como
dispersante qúımico y se dejan reposar por un peŕıodo de 24 horas (Maldonado Paucar 2016).
Después, las muestras se colocan en un recipiente con agitador mecánico por un 1 minuto.
El contenido mezclado se coloca en una probeta y se le agrega agua destilada hasta aforar
1000 mL (Aguilar 2013).
Tapando con la mano la abertura de la probeta, se agita la solución volteando el cilindro
al revés 30 veces durante 1 minuto, hasta alcanzar una mezcla uniforme, y justamente al
4 de 33
Jiménez y González, 2020
terminar de agitar, se pone en marcha el cronómetro al introducir suavemente el hidrómetro
en la muestra en suspensión(Aguilar 2013). El cilindro de sedimentación debe colocarse en
una mesa donde pueda permanecer tranquilo durante las mediciones (D422-63 2007).
Se toman las lecturas de densidad para cada intervalo establecido (2, 5, 15, 30, 60, 120,
240 y 360 minutos) (D422-63 2007). En cualquier caso, se debe registrarse el tiempo exacto
de lectura. Tras cada lectura, elhidrómetro se retira y coloca en una probeta con agua
destilada para evitar que el material en suspensión se adhiriera al bulbo. Los hidrómetros
están graduados para ser léıdos en la parte inferior del menisco. Sin embargo, en suspensiones
de suelo opacas, las lecturas deben tomarse en la parte superior del menisco (D422-63 2007).
La siguiente tabla puede servir como plantilla de muestra para registrar los datos.
Tabla 1. Plantilla de muestra para registrar los datos
sample time temperature reading blank
P05 0.6 30 25 2
P05 2 30 22 2
P05 4 30 20 2
P05 15 30 15 2
P05 30 30 13 2
P05 60 30 11 2
P05 240 30 7 2
P05 1440 30 5 2
P09 0.6 30 30 2
P09 2 30 27 2
P09 4 30 25 2
P09 ... ... ... ...
2. Paquete envalysis
Steinmetz (2020) creó el paquete envalysis el cual es de libre uso y solamente requiere de
atribuir el reconocimiento merecido al autor. Dentro de este paquete se encuentra la función
texture() la cual calcula la distribución del tamaño de part́ıcula y las clases de textura DIN
y USDA a partir de una serie de lecturas de hidrómetro de acuerdo con el Análisis de textura
del suelo ASTM D422-63.
El algoritmo para el cálculo de la distrubución del tamaño de part́ıculas a partir de lec-
turas registradas del hidrómetro implementado por Steinmetz (2020) sigue y cumple con
las definiciones dadas por las directrices establecidas en la gúıa ASTM respectiva (D422-63
2007) y Bouyoucos (1927). El código con todos los cálculos se puede consultar en https:
//github.com/zsteinmetz/envalysis/blob/master/R/texture.R.
5 de 33
https://github.com/zsteinmetz/envalysis/blob/master/R/texture.R
https://github.com/zsteinmetz/envalysis/blob/master/R/texture.R
Jiménez y González, 2020
3. Análisis de datos
En este apartado exponemos los pasos para usar el paquete envalysis para analizar los datos
del hidrómetro. Por conveniencia usamos RStudio (RStudio Team 2015), pero puede usar
R GUI (Interface gráfica de usuario, GUI por sus siglas en inglés) (R Core Team 2020).
Si ya tienes instalado R y Rstudios, pues empecemos. Si todav́ıa no lo ha hecho le recomiendo
revisar como instalar la última versión de estos programas. Bien, instalaremos el paquete
envalysis. Puede copiar y correr el siguiente comando en la consola o puede usar el menú de
RStudio. Seleccione la pestaña Packages, hace click en Install, se abre una ventana, escribe
envalysis y hace click en Install.
# instalamos el paquete
install.packages("envalysis", dependencies = TRUE)
Una vez instalado el paquete, lo llamamos con la función library(). Pero, primero ajustamos
cual va a ser nuestra carpeta de trabajo con la función setwd(), la ruta a la carpeta va entre
comillas. Seguido, podemos verificar cual es la carpeta de trabajo con con la función getwd().
setwd("C:/RSuelo/Rhydrometer")
getwd()
## [1] "C:/RSuelo/Rhydrometer"
library(envalysis)
ls("package:envalysis")
## [1] "bisdom" "calibration" "CI" "clayloam"
## [5] "din32645" "icp" "lod" "loq"
## [9] "mselect" "neitzel2003" "rmse" "se"
## [13] "signifig" "sorption" "texture" "theme_publish"
Con la función ls() obtenemos un vector con los nombres de las funciones y datos dentro
del paquete envalysis. Aqúı, clayloam es una base de datos que muestra el formato en que
tenemos que presentar nuestros propios datos; y texture() es la función para el análisis
de esos datos. Vemos que clayloam esta en la posición 4 y la función texture() está en la
posición 15.
Llamamos los datos clayloam con la función data() y la mostramos con la función print().
Con la función View(clayloam) se abre una pestaña en el cuadrante superior a su izquierda
en RStudio que muestra los datos. Adicionalmente, mostramos los nombres de las variables
usando la función names().
data(clayloam)
print(clayloam)
## time temperature reading blank
## 1 0.66 23 39 2
## 2 2.00 23 33 2
## 3 5.00 23 29 2
## 4 15.00 23 23 2
6 de 33
Jiménez y González, 2020
## 5 30.00 23 22 2
## 6 60.00 23 20 2
## 7 180.00 23 18 2
names(clayloam)
## [1] "time" "temperature" "reading" "blank"
En la función texture, los argumentos son:
texture(reading, blank, time, temperature, data, conc = 50,
Gs = 2.65, hydrometer = "auto", model = "auto", plot = F, ... )
a) reading: (lectura) es un vector numérico de valores de datos que proporciona las lecturas
del hidrómetro en la parte inferior del menisco.
b) data: (base de datos) los datos contienen las variables en la fórmula:
reading ~ blank + time + temperature.
c) blank: (blanco) es un vector numérico que contiene las lecturas en blanco tomadas en
5 g L−1 solución de Hexametafosfato de Sodio (corrección compuesta).
d) time: (tiempo) es un vector numérico que contiene el tiempo transcurrido desde el
comienzo de la medición en minutos.
e) temperature: (temperatura) es un vector entero que contiene la temperatura medida.
f ) conc: es la concentración de la solución del suelo, el valor predeterminado es 50 g L−1
como se propone en la directriz ASTM.
g) Gs: es la gravedad espećıfica de la suspensión.
h) hydrometer: (hidrómetro) es una cadena de caracteres que especifica el hidrómetro uti-
lizado; los valores aceptados son "auto" para detección automática (predeterminado),
"151H" y "152H".
i) model: (modelo) la cadena se pasa a drm (Una función de ajuste del modelo general para
el análisis de los datos de concentración/ dosis/ efecto temporal /respuesta.), "auto"
elige el mejor modelo de ajuste automáticamente.
j ) plot: (gráfica) es un valor lógico, si es FALSE no se grafica (predeterminado), si es TRUE,
se grafica la distribución del tamaño de part́ıcula.
3.1. Base de datos
Como ya conocemos la forma que debe tener la base de datos del hidrómetro para el análisis
granulométrico, podemos crear nuestra propia base de dato. La base de datos la creamos en
Excel con las variables: sample, time, temperature, reading y blank. El archivo se guarda en
.csv.
Llamamos la base de dato con la función read.csv() y creamos un objeto con un nombre
arbitrario (datos df). Especifique la ruta de donde se encuentre su base de datos junto con
el nombre y extensión, si es que no se encuentra en la carpeta de trabajo, esto va entre
7 de 33
Jiménez y González, 2020
comillas. Preste atención a los demás argumentos dentro de la función read.csv(), como
header (encabezado de columnas) y sep (śımbolo que separa las columnas).
datos_df <- read.csv("data_hydrometer.csv", header = TRUE, sep = ";")
Revisamos los datos con las funciones str(), head() y tail(). Debe aparecer datos df en
el Global Environment de RStudio como un objeto tipo data.frame, con 5 variables y 120
observaciones.
str(datos_df)
## 'data.frame': 120 obs. of 5 variables:
## $ sample : chr "P05" "P05" "P05" "P05" ...
## $ time : num 0.6 2 4 15 30 60 240 1440 0.6 2 ...
## $ temperature: int 30 30 30 30 30 30 30 30 30 30 ...
## $ reading : int 25 22 20 15 13 11 7 5 30 27 ...
## $ blank : int 2 2 2 2 2 2 2 2 2 2 ...
head(datos_df)
## sample time temperature reading blank
## 1 P05 0.6 30 25 2
## 2 P05 2.0 30 22 2
## 3 P05 4.0 30 20 2
## 4 P05 15.0 30 15 2
## 5 P05 30.0 30 13 2
## 6 P05 60.0 30 11 2
tail(datos_df)
## sample time temperature reading blank
## 115 P53 4 30 23 2
## 116 P53 15 30 20 2
## 117 P53 30 30 17 2
## 118 P53 60 30 14 2
## 119 P53 240 30 10 2
## 120 P53 1440 30 6 2
3.2. Las salidas
La función texture() de envalysis devuelve un objeto de la clase "texture". Un objeto de
la clase "texture" es una lista que contiene los siguientes componentes:
� meta: metadatos.
� distribution: datos que proporciona la distribución del tamaño de part́ıcula.
� model: información del modelo sobre el modelo drm ajustado
� din: principales clases de textura DIN.
� usda: principales clases de textura del USDA.
8 de 33
Jiménez y González, 2020
Extraemos de datos df, los datos de la muestra "P05" con la función subset() y los nom-
bramos ejemplo df.
ejemplo_df <- subset(datos_df, datos_df$sample=="P05")
Corremos la funcióntexture para la data ejemplo df y regresa la salida del análisis en la
consola.
texture(reading ~ blank + time + temperature, ejemplo_df)
## Soil particle estimation according to ASTM D422-63
## Hydrometer model: 152H
## Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
##
## Particle size distribution:
## Particle size Percent passing
## 0.05420 0.536
## 0.03029 0.476
## 0.02170 0.436
## 0.01156 0.336
## 0.00827 0.296
## 0.00592 0.256
## 0.00303 0.176
## 0.00125 0.136
##
## Fitted with Weibull (type 1) (W1.4)
##
## Soil texture classes (DIN 4022):
## Clay Silt Sand
## Estimate 0.15114 0.40024 0.44861
## Std. Error 0.00369 0.00918 0.00549
##
## Soil texture classes (USDA):
## Clay Silt Sand
## Estimate 0.15114 0.37847 0.47039
## Std. Error 0.00369 0.00793 0.00423
Puede crear un objeto nombrando la salida. Por ejemplo:
soil_P05 <- texture(reading ~ blank + time + temperature, ejemplo_df)
Cuando se realiza el análisis del hidrómetro, se debe hacer un gráfico de los resultados de la
prueba, trazando los diámetros de las part́ıculas en una escala logaŕıtmica como la abscisa y
los porcentajes más pequeños que los diámetros correspondientes a una escala aritmética como
la ordenada. La función texture() también lo hace introduciendo el argumento plot=TRUE.
soil_P05 <- texture(reading ~ blank + time + temperature,
ejemplo_df, plot=TRUE)
9 de 33
Jiménez y González, 2020
particle.size
pe
rc
.p
as
si
ng
0.01
0.2
0.3
0.4
0.5
Figura 2. Distribución del tamaño de part́ıculas finas.
También, se puede aplicar la función a todas las muestras a la vez. Para esto hay que instalar
el paquete purrr (Henry y Wickham 2020). Del paquete purrr utilizaremos las funciones
map() y map_dfr(). La función u operador %>% indica que el resultado de la instrucción
anterior se usa para la instrucción que sigue a continuación. La función split() divide el
data.frame datos df por la identificación de la muestra (sample) en pequeños data.frame.
Luego, map() aplica la función a cada uno de estos data.frame y la salida se presenta en la
consola. Por motivos de espacio hemos colocado la salida en el Anexo A.
library(purrr)
datos_df %>%
split(.$sample) %>%
map(~ texture(reading ~ blank + time + temperature, data = .x))
La salida se puede guardar en un archivo .txt usando a la función sink(). Observe que se
usa dos veces, en la primera se nombra el archivo sin olvidar la extensión, colocando todo
entre comillas; y la segunda es de cierre de la instrucción. El documento aparecerá en la
carpeta de trabajo.
# Para guardar todas las salidas
sink("soiltest1.txt")
datos_df %>%
split(.$sample) %>%
10 de 33
Jiménez y González, 2020
map(~ texture(reading ~ blank + time + temperature,
data = .x))
sink()
Para guardar los resultados, especificamente el de porcentajes de arena, limo y arcilla de la
clasificación USDA podemos ejecutar las siguientes instruciones.
datos_df %>%
split(.$sample) %>%
map(~ texture(reading ~ blank + time + temperature, data = .x)) %>%
map_dfr(~ as.data.frame(t(as.matrix(round(.x[[5]][1,1:3],4)*100))))
## Clay Silt Sand
## 1 15.11 37.85 47.04
## 2 26.11 37.00 36.89
## 3 39.56 42.97 17.47
## 4 7.32 28.31 64.37
## 5 28.09 38.85 33.06
## 6 17.15 44.32 38.53
## 7 21.82 29.37 48.81
## 8 25.04 27.86 47.10
## 9 22.07 33.66 44.28
## 10 34.38 30.46 35.16
## 11 15.07 34.40 50.52
## 12 23.32 42.11 34.57
## 13 11.90 25.30 62.80
## 14 37.06 32.51 30.43
## 15 18.94 39.87 41.19
Para guardar la salida en un documento .txt usamos la función sink().
sink("soiltest2.txt")
datos_df %>%
split(.$sample) %>%
map(~ texture(reading ~ blank + time + temperature, data = .x)) %>%
map_dfr(~ as.data.frame(t(as.matrix(round(.x[[5]][1,1:3],4)*100))))
sink()
Para guardar los gráficos de distribución de part́ıculas.
pdf("graphics.pdf", paper = "letter")
par(mfrow = c(2, 2))
datos_df %>%
split(.$sample) %>%
map(~ texture(reading ~ blank + time + temperature, data = .x, plot=TRUE))
dev.off()
11 de 33
Jiménez y González, 2020
4. Clasificar datos de textura de suelo: USDA
4.1. Obtener la clase de suelo
Ahora queremos obtener las clases de textura de suelo según la clasificación USDA a partir
de una base de datos con los porcentajes de arena, limo y arcilla. Primero, obtendremos la
clase de suelo para un objeto lista tipo +texture, como el que guardamos con el nombre
soil_P05. Tenemos que preparar los datos y convertirlos en un objeto tipo data.frame.
Ubicamos y mostramos la ĺınea de dato que necesitamos de la lista.
soil_P05[["usda"]]["Estimate",c("Clay", "Silt", "Sand")]
## Clay Silt Sand
## 0.1511441 0.3784704 0.4703854
o lo que es lo mismo, usar las posiciones:
soil_P05[[5]][1,1:3]
## Clay Silt Sand
## 0.1511441 0.3784704 0.4703854
Usaremos una función del paquete soiltexture que nos devuelve la clase de suelo como una
abreviatura en inglés y también, una función creada que nos develve el nombre completo
en español. Ambas funciones necesitan que los nombres de las variables esten en mayúscula
(CLAY, SILT, SAND) y los datos en porcentaje.
Cada uno de los valores (en proporción decimal) se multiplica por 100, se transpone con t() y
se convierte en un objeto tipo data.frame con la función data.frame(). El objeto lo creamos
con un nombre arbitrario, P05.tipo.suelo. Luego, cambiamos los nombres de la variables a
mayúsculas cerradas.
P05.tipo.usda <- data.frame(t(soil_P05$usda["Estimate",] * 100))
names(P05.tipo.usda) <- toupper(names(P05.tipo.usda))
Ahora, para obtener la clase de suelo según USDA llamamos el paquete soiltexture y usamos
la función TT.points.in.classes() y los argumentos son tres: el nombre del objeto con los
datos, el sistema de clasificación y el tipo de salida. Más información sobre esta función la
pueden encontrar en Moeys (2018).
library(soiltexture)
TT.points.in.classes(P05.tipo.usda, class.sys = "USDA.TT", PiC.type = "t")
## [1] "Lo"
Este código está escrito en Jiménez (2019). Se guardó como un archivo verb+.Rdata+
y lo utilizamos aca. Llamamos el archivo con la función attach(). El archivo se llama
clasessuelo.Rdata y tiene una única función, clase.textura().
attach("clasessuelo.Rdata")
clases.textura(P05.tipo.usda)
## [1] "Franco"
12 de 33
Jiménez y González, 2020
Ahora, usaremos nuestro resultado con los datos de arena, limo y arcilla para las 15 muetras.
Ese resultado se guardó como un archico .txt. con el nombre soiltest2. Lo llamamos con la
función read.table().
test2.tipo.usda <- read.table(file = "soiltest2.txt", header=TRUE)
Incluimos una variable con la etiqueta de la muestra.
test2.tipo.usda$sample <- unique(datos_df$sample)
Cambiamos sus nombres de variables a mayúsculas cerradas.
names(test2.tipo.usda) <- toupper(names(test2.tipo.usda))
Aplicamos la función TT.points.in.classes()
tex2.soil.usda <- TT.points.in.classes(test2.tipo.usda,
class.sys = "USDA.TT", PiC.type = "t")
print(tex2.soil.usda)
## [1] "Lo" "Lo" "SiClLo" "SaLo" "ClLo" "Lo" "Lo" "Lo"
## [9] "Lo" "ClLo" "Lo" "Lo" "SaLo" "ClLo" "Lo"
El resultado es un vector de caracteres, de la misma longitud que el número de muestras de
suelo, que contiene la abreviatura de la clase de textura a la que pertenece la muestra. En el
caso de una muestra situada en el borde de dos clases, se devuelven las abreviaturas de las
clases concatenadas (separadas por una coma).
Para usar la función clase.textura() para cada ĺınea del data.frame, tenemos que usar las
funciones sapply() y split(), de la siguiente forma:
tex2.suelo.usda <- sapply(split(test2.tipo.usda, test2.tipo.usda$SAMPLE),
FUN = clases.textura)
print(tex2.suelo.usda)
## P05 P09
## "Franco" "Franco"
## P15 P16
## "Franco limoso arcilloso" "Franco arenoso"
## P21 P24
## "Franco arcilloso" "Franco"
## P25 P36
## "Franco" "Franco arenoso arcilloso"
## P37 P39
## "Franco" "Franco arcilloso"
## P46 P49
## "Franco" "Franco"
## P50 P51
## "Franco arenoso" "Franco arcilloso"
## P53
## "Franco"
13 de 33Jiménez y González, 2020
El resultado es un vector de caracteres, de la misma longitud que el número de muestras de
suelo, que contiene el nombre en español de la clase de textura a la que pertenece la muestra.
Por último, unimos los dos vectores de caracteres en un data.frame.
TEX.USDA <- data.frame(t(rbind(tex2.soil.usda, tex2.suelo.usda)))
print(TEX.USDA)
## tex2.soil.usda tex2.suelo.usda
## P05 Lo Franco
## P09 Lo Franco
## P15 SiClLo Franco limoso arcilloso
## P16 SaLo Franco arenoso
## P21 ClLo Franco arcilloso
## P24 Lo Franco
## P25 Lo Franco
## P36 Lo Franco arenoso arcilloso
## P37 Lo Franco
## P39 ClLo Franco arcilloso
## P46 Lo Franco
## P49 Lo Franco
## P50 SaLo Franco arenoso
## P51 ClLo Franco arcilloso
## P53 Lo Franco
4.2. Obtener el triángulo de textura
En este apartado graficamos los datos de test2.tipo.usda en un triángulo con la clasificación
USDA. Le sugerimos revisar Moeys (2018) que explica el uso del paquete soiltexture. Las
funciones y argumentos que se utilizan a continuación ya han sido presentados en el manual
Funciones de R para graficar, clasificar y explorar los datos de textura del suelo (Jiménez
2019).
geo <- TT.plot(
class.sys = "USDA.TT",
tri.data = test2.tipo.usda,
lang = "es2", grid.show = FALSE,
class.p.bg.col = c("aquamarine", "aquamarine2",
"aquamarine3", "cornsilk", "burlywood1",
"burlywood3", "darkseagreen1", "darkseagreen3",
"darkolivegreen1", "darkolivegreen2", "deepskyblue",
"deepskyblue4"),
lwd.axis = 2, class.line.col = "black",
class.lab.col = "black", pch = 19,
cex.lab = 1, cex.axis = 1, cex = 0.4, fg = "red")
14 de 33
Jiménez y González, 2020
TT.text(tri.data = test2.tipo.usda,
geo = geo,
labels = test2.tipo.usda$SAMPLE,
cex = 0.8, col = "grey20", pos = 3)
Se utiliza la función TT.plot para construir el gráfico y en el argumento class.p.bg.col
colocamos como opción un vector con los nombres de los colores de la misma longitud que el
número de clases (12 clases, 12 colores).
Figura 3. Triángulo de textura de suelo.
5. Trabajando con el código
Se ha tomado el código original de la función texture() y se le realizaron pequeñ́ısimos
cambios para adaptarlo a las necesidades propias, espećıficamente el cambio de idioma en
las etiquetas de salida. El código modificado y los datos que se utilizan en los cálculos se
guardaron en un archivo .RDATA.
En un fichero se copió el código original y se tradujo al español todos los caracteres o etiquetas
asociados a la función cat(). Una vez hecho esto, se ejecuta en la consola y se crean en el
Global Environment los objetos correspondientes a la función. Adicionalmente, se copiaron
dos objetos que se usan en los calculos: "d422_ct" (Valores del factor de corrección, alfa,
para diferentes gravedades espećıficas de part́ıculas del suelo) y "d422_k" (Valores de K para
15 de 33
Triángulo de textura: USDA
ClCl
SiClSiCl
SaClSaCl
P39ClClLoLo SiClLoSiClLo
SaClLoSaClLo
PLL
SiLoSiLoSS
SiSiSaSaLoSaLoSa
102030405060708090
10
20
30
40
50
60
70
80
90
10
20
30
40
50
60
70
80
90
[%] Arena 50−2000 µm
[%
] A
rc
illa
 0
−2
 µ
m
[%
] Lim
o
 2−50 µm
46P05
P
P15
aLoaLoP16
09P21
53ooP24
P2
P36
5P37
P
P49
P50
P51
Jiménez y González, 2020
usar en la ecuación para calcular el diámetro de part́ıcula en el análisis del hidrómetro).
A continuación se muestra su uso:
load("hidrometro.RData")
library(drc)
Se requiere el paquete drc (Ritz y col. 2015); ya que verb+texture()+ realiza análisis de
regresión logisticaverb+texture()+, primero con la función de log-loǵıstica de dos parámetros,
LL.2(); y luego, compara con otras funciones (en total 20) y escoge la de mejor ajuste. La
curva con mejor ajuste es trazada en la salida gráfica. La función ls() muestra un vertor
con los nombres de los objetos creados en el Global Environment, en este caso los que forman
la función texture() de código modificado guardado como hidrometro.RDATA.
ls()
## [1] "d422_ct" "d422_k" "plot.texture"
## [4] "print.texture" "texture" "texture.default"
## [7] "texture.formula"
Lllamamos los datos nuevamente, y tomamos la muestra ”P05” otra vez para el ejemplo.
datos_df <- read.csv("data_hydrometer.csv", header = TRUE,
sep = ";")
ejemplo_df <- subset(datos_df, datos_df$sample=="P05")
Corremos texture().
texture(reading ~ blank + time + temperature, ejemplo_df)
## Estimación del tama~no de partı́cula de acuerdo a ASTM D422-63
## Modelo de Hidrómetro: 152H
## Gravedad especı́fica (Gs) = 2.65 Extracto de suelo: 50 g/L
##
## Distribución del tama~no de partı́cula:
## Tama~no de partı́cula Porcentaje que pasa
## 0.05420 0.536
## 0.03029 0.476
## 0.02170 0.436
## 0.01156 0.336
## 0.00827 0.296
## 0.00592 0.256
## 0.00303 0.176
## 0.00125 0.136
##
## Ajustada con Weibull (type 1) (W1.4)
##
## Clase de textura de suelo (USDA):
## Arcilla Limo Arena
## Estimación 0.15114 0.37847 0.47039
16 de 33
Jiménez y González, 2020
## Error estándar 0.00369 0.00793 0.00423
Graficamos.
texture(reading ~ blank + time + temperature, ejemplo_df,
plot = TRUE)
abline(h=c(0.2,0.3,0.4,0.5), v= c(0.001, 0.01,0.1) , col="grey", lty = 2)
Figura 4. Distribución del tamaño de part́ıculas finas.
17 de 33
Curva granulométrica
0.01
Tamaño.partícula
P
or
ce
nt
aj
e.
qu
e.
pa
sa
0.001 0.1
0.2
0.3
0.4
0.5
Jiménez y González, 2020
6. Acerca de R
R es un conjunto integrado de funciones de software para manipulación de datos, cálculo
y visualización gráfica. Este documento trata sobre funciones (y paquetes) escritas en R
“lenguaje y entorno para la informática estad́ıstica”1, y se ha generado con R version 4.0.0
(2020-04-24) (R Core Team 2020).
6.1. Créditos y Licencia
Este documento y los códigos fueron escritos en Sweave2, R3 y LATEX4 (The LaTeX3 project
2006). Esta obra está bajo una licencia de Creative Commons Reconocimiento - Compartir
igual 3.05.
En resumen, esto significa que Usted es libre de:
1. Compartir: copiar, distribuir y transmitir la obra;
2. Editar: adaptar el trabajo al contexto requerido.
En las siguientes condiciones:
1. Atribución: debe atribuir el trabajo de la manera especificada por el autor o licenciante
(pero no de ninguna manera que sugiera que le respalden o su uso de la obra);
2. Compartir por igual: si modifica, transforma o se basa en este trabajo, puede distribuir
el trabajo resultante solo bajo una licencia igual, similar o compatible.
Dado que este tipo de licencia es altamente permisiva, este documento se proporciona sin
responsabilidades, ni garant́ıas.
1http://www.r-project.org/
2La función Sweave de R proporciona un marco flexible para mezclar texto y código R para la generación
automática de documentos.
3R es un entorno y lenguaje de programación con un enfoque al análisis estad́ıstico.
4LATEXes un sistema de preparación de documentos para composición de texto de alta calidad
5Reconocimiento - Compartir igual (by-sa): se permite el uso comercial de la obra y de las posibles obras
derivadas, siempre que su distribución se haga igual que la obra original.
18 de 33
http://www.r-project.org/
Jiménez y González, 2020
Referencias
[1] Jairo Aguilar. ((Análisis granulométrico mediante el método del hidrómetro)). En: Mente
& Materia 4.1 (2013), págs. 29-29.
[2] A Bautista-Cruz y col. La calidad del suelo y sus indicadores. 2004. url: http://www.
%20revistaecosistemas.%20net/articulo.%20asp.
[3] George John Bouyoucos. ((The hydrometer as a new method for the mechanical analysis
of soils)). En: Soil Science 23.5 (1927), págs. 343-354.
[4] ASTM D422-63. ((Standard Test Method for Particle-Size Analysis of Soils (Technical
standard))). En: ASTM International, West Conshohocken, PA (2007), pág. 8. url:
http://www.astm.org/Standards/D422.htm.
[5] Juan Manuel Gisbert Blanquer, Sara Ibañez Asensio y Héctor Moreno Ramón. ((La
textura del suelo)). En: (2010).
[6] Hanoi Medina González, Jorge Garćıa Coronado y Daniel Núñez Acosta.((El método
del hidrómetro: base teórica para su empleo en la determinación de la distribución
del tamaño de part́ıculas de suelo)). En: Revista Ciencias Técnicas Agropecuarias 16.3
(2007), págs. 19-24.
[7] Lionel Henry y Hadley Wickham. purrr: Functional Programming Tools. R package
version 0.3.4. 2020. url: https://CRAN.R-project.org/package=purrr.
[8] José Ulises Jiménez. ((Funciones de R para graficar, clasificar y explorar los datos de
textura del suelo)). En: (2019).
[9] Alejandro David Maldonado Paucar. ((Evaluación de diferentes dosis de hexametafosfa-
to de sodio (NaPO3) 6, en la determinación de tres tipos texturales de suelo, mediante
el método de bouyoucos.)) B.S. thesis. Quito: UCE, 2016.
[10] Julien Moeys. soiltexture: Functions for Soil Texture Plot, Classification and Transfor-
mation. R package version 1.5.1. 2018. url: https://CRAN.R-project.org/package=
soiltexture.
[11] Diego Alejandro Morales González. ((Comparación entre el sistema pario y un procedi-
miento tradicional para obtener la granulometŕıa en suelos finos)). En: (2018).
[12] R Core Team. R: A Language and Environment for Statistical Computing. R Founda-
tion for Statistical Computing. Vienna, Austria, 2020. url: https://www.R-project.
org/.
[13] C. Ritz y col. ((Dose-Response Analysis Using R)). En: PLOS ONE 10.e0146021 (12
2015). url: http : // journals . plos . org/plosone/article ? id=10 . 1371/ journal . pone .
0146021.
[14] RStudio Team. RStudio: Integrated Development for R. RStudio, Inc. Boston, MA,
2015. url: http://www.rstudio.com/.
[15] Charles Robin Scott. An introduction to soil mechanics and foundations. Springer, 2013.
[16] Zacharias Steinmetz. envalysis: Miscellaneous Functions for Environmental Analyses.
R package version 0.4. 2020. url: https://CRAN.R-project.org/package=envalysis.
19 de 33
http://www.%20revistaecosistemas.%20net/articulo.%20asp
http://www.%20revistaecosistemas.%20net/articulo.%20asp
http://www.astm.org/Standards/D422.htm
https://CRAN.R-project.org/package=purrr
https://CRAN.R-project.org/package=soiltexture
https://CRAN.R-project.org/package=soiltexture
https://www.R-project.org/
https://www.R-project.org/
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0146021
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0146021
http://www.rstudio.com/
https://CRAN.R-project.org/package=envalysis
Jiménez y González, 2020
[17] The LaTeX3 project. The LaTeX3 project. 2006. url: http://www.latex-project.org/.
[18] Arnold Verruijt. An Introduction to Soil Mechanics. Vol. 30. Springer, 2017.
[19] J. E. Villareal. Mapas de fertilidad como herramienta para zonificación de suelos en
Panamá. 2018.
20 de 33
http://www.latex-project.org/
Jiménez y González, 2020
ANEXO A
Salida de la estimación del tamaño de part́ıcula de acuerdo
a ASTM D422-63, para la base de datos evaluada (total
15 muestras)
21 de 33
1 $P05
2 Soil particle estimation according to ASTM D422-63
3 Hydrometer model: 152H
4 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
5 
6 Particle size distribution:
7 Particle size Percent passing
8 0.05420 0.536
9 0.03029 0.476
10 0.02170 0.436
11 0.01156 0.336
12 0.00827 0.296
13 0.00592 0.256
14 0.00303 0.176
15 0.00125 0.136
16 
17 Fitted with Weibull (type 1) (W1.4)
18 
19 Soil texture classes (DIN 4022):
20 Clay Silt Sand
21 Estimate 0.15114 0.40024 0.44861
22 Std. Error 0.00369 0.00918 0.00549
23 
24 Soil texture classes (USDA):
25 Clay Silt Sand
26 Estimate 0.15114 0.37847 0.47039
27 Std. Error 0.00369 0.00793 0.00423
28 
29 $P09
30 Soil particle estimation according to ASTM D422-63
31 Hydrometer model: 152H
32 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
33 
34 Particle size distribution:
35 Particle size Percent passing
36 0.05230 0.636
37 0.02927 0.576
38 0.02099 0.536
39 0.01113 0.456
40 0.00792 0.436
41 0.00571 0.376
42 0.00293 0.296
43 0.00122 0.216
44 
45 Fitted with Log-logistic (ED50 as parameter) with lower limit at 0 (LL.3)
46 
47 Soil texture classes (DIN 4022):
48 Clay Silt Sand
49 Estimate 0.26115 0.3918 0.34708
50 Std. Error 0.00554 0.0143 0.00881
51 
52 Soil texture classes (USDA):
53 Clay Silt Sand
54 Estimate 0.26115 0.3700 0.3689
55 Std. Error 0.00554 0.0124 0.0069
56 
57 $P15
58 Soil particle estimation according to ASTM D422-63
59 Hydrometer model: 152H
60 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
61 
62 Particle size distribution:
63 Particle size Percent passing
64 0.04869 0.816
65 0.02690 0.796
66 0.01949 0.736
67 0.01038 0.656
68 0.00745 0.616
69 0.00538 0.556
70 0.00280 0.436
71 0.00118 0.336
72 
73 Fitted with Shifted Michaelis-Menten (MM.3)
74 
75 Soil texture classes (DIN 4022):
76 Clay Silt Sand
77 Estimate 0.39561 0.4420 0.16240
78 Std. Error 0.00703 0.0164 0.00938
79 
80 Soil texture classes (USDA):
81 Clay Silt Sand
82 Estimate 0.39561 0.4297 0.17472
83 Std. Error 0.00703 0.0155 0.00851
84 
85 $P16
86 Soil particle estimation according to ASTM D422-63
87 Hydrometer model: 152H
88 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
89 
90 Particle size distribution:
91 Particle size Percent passing
92 0.05746 0.356
93 0.03167 0.336
94 0.02279 0.276
95 0.01198 0.216
96 0.00861 0.156
97 0.00612 0.136
98 0.00309 0.096
99 0.00128 0.056
100 
101 Fitted with Generalized log-logistic (ED50 as parameter) (LL.5)
102 
103 Soil texture classes (DIN 4022):
104 Clay Silt Sand
105 Estimate 0.07316 0.2835 0.643
106 Std. Error 0.00809 0.0201 0.012
107 
108 Soil texture classes (USDA):
109 Clay Silt Sand
110 Estimate 0.07316 0.2831 0.6437
111 Std. Error 0.00809 0.0197 0.0116
112 
113 $P21
114 Soil particle estimation according to ASTM D422-63
115 Hydrometer model: 152H
116 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
117 
118 Particle size distribution:
119 Particle size Percent passing
120 0.05152 0.676
121 0.02864 0.636
122 0.02070 0.576
123 0.01091 0.516124 0.00777 0.496
125 0.00564 0.416
126 0.00291 0.316
127 0.00122 0.236
128 
129 Fitted with Shifted Michaelis-Menten (MM.3)
130 
131 Soil texture classes (DIN 4022):
132 Clay Silt Sand
133 Estimate 0.2809 0.4008 0.3184
134 Std. Error 0.0107 0.0246 0.0139
135 
136 Soil texture classes (USDA):
137 Clay Silt Sand
138 Estimate 0.2809 0.3885 0.3306
139 Std. Error 0.0107 0.0232 0.0125
140 
141 $P24
142 Soil particle estimation according to ASTM D422-63
143 Hydrometer model: 152H
144 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
145 
146 Particle size distribution:
147 Particle size Percent passing
148 0.05268 0.616
149 0.02927 0.576
150 0.02099 0.536
151 0.01113 0.456
152 0.00798 0.416
153 0.00575 0.356
154 0.00296 0.256
155 0.00127 0.076
156 
157 Fitted with Log-logistic (ED50 as parameter) (LL.4)
158 
159 Soil texture classes (DIN 4022):
160 Clay Silt Sand
161 Estimate 0.17151 0.460 0.36880
162 Std. Error 0.00496 0.012 0.00702
163 
164 Soil texture classes (USDA):
165 Clay Silt Sand
166 Estimate 0.17151 0.4432 0.38532
167 Std. Error 0.00496 0.0106 0.00568
168 
169 $P25
170 Soil particle estimation according to ASTM D422-63
171 Hydrometer model: 152H
172 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
173 
174 Particle size distribution:
175 Particle size Percent passing
176 0.05457 0.516
177 0.03009 0.496
178 0.02128 0.496
179 0.01128 0.416
180 0.00808 0.376
181 0.00578 0.336
182 0.00296 0.256
183 0.00124 0.176
184 
185 Fitted with Generalized log-logistic (ED50 as parameter) (LL.5)
186 
187 Soil texture classes (DIN 4022):
188 Clay Silt Sand
189 Estimate 0.21820 0.2945 0.48733
190 Std. Error 0.00536 0.0136 0.00825
191 
192 Soil texture classes (USDA):
193 Clay Silt Sand
194 Estimate 0.21820 0.2937 0.48812
195 Std. Error 0.00536 0.0126 0.00719
196 
197 $P36
198 Soil particle estimation according to ASTM D422-63
199 Hydrometer model: 152H
200 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
201 
202 Particle size distribution:
203 Particle size Percent passing
204 0.05420 0.536
205 0.03009 0.496
206 0.02142 0.476
207 0.01121 0.436
208 0.00808 0.376
209 0.00578 0.336
210 0.00294 0.276
211 0.00122 0.236
212 
213 Fitted with Brain-Cousens (hormesis) (BC.5)
214 
215 Soil texture classes (DIN 4022):
216 Clay Silt Sand
217 Estimate 0.25043 0.2956 0.454
218 Std. Error 0.00686 0.0199 0.013
219 
220 Soil texture classes (USDA):
221 Clay Silt Sand
222 Estimate 0.25043 0.2786 0.47099
223 Std. Error 0.00686 0.0149 0.00801
224 
225 $P37
226 Soil particle estimation according to ASTM D422-63
227 Hydrometer model: 152H
228 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
229 
230 Particle size distribution:
231 Particle size Percent passing
232 0.05382 0.556
233 0.02969 0.536
234 0.02156 0.456
235 0.01142 0.376
236 0.00818 0.336
237 0.00582 0.316
238 0.00298 0.236
239 0.00123 0.196
240 
241 Fitted with Generalized log-logistic (ED50 as parameter) (LL.5)
242 
243 Soil texture classes (DIN 4022):
244 Clay Silt Sand
245 Estimate 0.22069 0.3367 0.4426
246 Std. Error 0.00927 0.0233 0.0141
247 
248 Soil texture classes (USDA):
249 Clay Silt Sand
250 Estimate 0.22069 0.3366 0.4428
251 Std. Error 0.00927 0.0231 0.0138
252 
253 $P39
254 Soil particle estimation according to ASTM D422-63
255 Hydrometer model: 152H
256 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
257 
258 Particle size distribution:
259 Particle size Percent passing
260 0.05191 0.656
261 0.02907 0.596
262 0.02070 0.576
263 0.01091 0.516
264 0.00777 0.496
265 0.00560 0.436
266 0.00286 0.376
267 0.00119 0.296
268 
269 Fitted with Weibull (type 1) with lower limit at 0 and upper limit at 1 (W1.2)
270 
271 Soil texture classes (DIN 4022):
272 Clay Silt Sand
273 Estimate 0.34382 0.3224 0.33374
274 Std. Error 0.00465 0.0102 0.00555
275 
276 Soil texture classes (USDA):
277 Clay Silt Sand
278 Estimate 0.34382 0.30458 0.35160
279 Std. Error 0.00465 0.00993 0.00528
280 
281 $P46
282 Soil particle estimation according to ASTM D422-63
283 Hydrometer model: 152H
284 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
285 
286 Particle size distribution:
287 Particle size Percent passing
288 0.05494 0.496
289 0.03029 0.476
290 0.02170 0.436
291 0.01142 0.376
292 0.00818 0.336
293 0.00592 0.256
294 0.00301 0.196
295 0.00126 0.116
296 
297 Fitted with Weibull (type 2) with lower limit at 0 (W2.3)
298 
299 Soil texture classes (DIN 4022):
300 Clay Silt Sand
301 Estimate 0.1507 0.3490 0.5002
302 Std. Error 0.0087 0.0205 0.0118
303 
304 Soil texture classes (USDA):
305 Clay Silt Sand
306 Estimate 0.1507 0.3440 0.505
307 Std. Error 0.0087 0.0187 0.010
308 
309 $P49
310 Soil particle estimation according to ASTM D422-63
311 Hydrometer model: 152H
312 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
313 
314 Particle size distribution:
315Particle size Percent passing
316 0.05191 0.656
317 0.02886 0.616
318 0.02070 0.576
319 0.01106 0.476
320 0.00798 0.416
321 0.00575 0.356
322 0.00294 0.276
323 0.00123 0.196
324 
325 Fitted with Weibull (type 2) (W2.4)
326 
327 Soil texture classes (DIN 4022):
328 Clay Silt Sand
329 Estimate 0.23323 0.42723 0.33954
330 Std. Error 0.00262 0.00724 0.00461
331 
332 Soil texture classes (USDA):
333 Clay Silt Sand
334 Estimate 0.23323 0.42109 0.3457
335 Std. Error 0.00262 0.00623 0.0036
336 
337 $P50
338 Soil particle estimation according to ASTM D422-63
339 Hydrometer model: 152H
340 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
341 
342 Particle size distribution:
343 Particle size Percent passing
344 0.05711 0.376
345 0.03147 0.356
346 0.02239 0.336
347 0.01177 0.276
348 0.00837 0.256
349 0.00602 0.196
350 0.00306 0.136
351 0.00126 0.116
352 
353 Fitted with Weibull (type 1) (W1.4)
354 
355 Soil texture classes (DIN 4022):
356 Clay Silt Sand
357 Estimate 0.1190 0.2586 0.62233
358 Std. Error 0.0059 0.0128 0.00691
359 
360 Soil texture classes (USDA):
361 Clay Silt Sand
362 Estimate 0.1190 0.2530 0.62798
363 Std. Error 0.0059 0.0117 0.00583
364 
365 $P51
366 Soil particle estimation according to ASTM D422-63
367 Hydrometer model: 152H
368 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
369 
370 Particle size distribution:
371 Particle size Percent passing
372 0.05112 0.696
373 0.02843 0.656
374 0.02010 0.656
375 0.01061 0.596
376 0.00766 0.536
377 0.00549 0.496
378 0.00282 0.416
379 0.00119 0.316
380 
381 Fitted with Shifted Michaelis-Menten (MM.3)
382 
383 Soil texture classes (DIN 4022):
384 Clay Silt Sand
385 Estimate 0.37061 0.3333 0.29611
386 Std. Error 0.00669 0.0151 0.00838
387 
388 Soil texture classes (USDA):
389 Clay Silt Sand
390 Estimate 0.37061 0.3251 0.30430
391 Std. Error 0.00669 0.0144 0.00768
392 
393 $P53
394 Soil particle estimation according to ASTM D422-63
395 Hydrometer model: 152H
396 Specific gravity (Gs) = 2.65 Soil extract: 50 g/L
397 
398 Particle size distribution:
399 Particle size Percent passing
400 0.05307 0.596
401 0.02969 0.536
402 0.02128 0.496
403 0.01121 0.436
404 0.00808 0.376
405 0.00582 0.316
406 0.00298 0.236
407 0.00124 0.156
408 
409 Fitted with Brain-Cousens (hormesis) (BC.5)
410 
411 Soil texture classes (DIN 4022):
412 Clay Silt Sand
413 Estimate 0.1894 0.4256 0.3850
414 Std. Error 0.0076 0.0221 0.0145
415 
416 Soil texture classes (USDA):
417 Clay Silt Sand
418 Estimate 0.1894 0.3987 0.41186
419 Std. Error 0.0076 0.0161 0.00848
420 
421 
Jiménez y González, 2020
ANEXO B
Salida gráfica de la distribución del tamaño de part́ıcula
29 de 33
Jiménez y González, 2020
30 de 33
particle.size
pe
rc
.p
as
si
ng
0.01
0.2
0.3
0.4
0.5
particle.size
pe
rc
.p
as
si
ng
0.01
0.2
0.3
0.4
0.5
0.6
particle.size
pe
rc
.p
as
si
ng
0.01
0.4
0.5
0.6
0.7
0.8
particle.size
pe
rc
.p
as
si
ng
0.01
0.05
0.10
0.15
0.20
0.25
0.30
0.35
Jiménez y González, 2020
31 de 33
particle.size
pe
rc
.p
as
si
ng
0.01
0.3
0.4
0.5
0.6
particle.size
pe
rc
.p
as
si
ng
0.01
0.1
0.2
0.3
0.4
0.5
0.6
particle.size
pe
rc
.p
as
si
ng
0.01
0.20
0.25
0.30
0.35
0.40
0.45
0.50
particle.size
pe
rc
.p
as
si
ng
0.01
0.25
0.30
0.35
0.40
0.45
0.50
Jiménez y González, 2020
32 de 33
particle.size
pe
rc
.p
as
si
ng
0.01
0.2
0.3
0.4
0.5
particle.size
pe
rc
.p
as
si
ng
0.01
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
particle.size
pe
rc
.p
as
si
ng
0.01
0.2
0.3
0.4
0.5
particle.size
pe
rc
.p
as
si
ng
0.01
0.2
0.3
0.4
0.5
0.6
Jiménez y González, 2020
33 de 33
particle.size
pe
rc
.p
as
si
ng
0.01
0.15
0.20
0.25
0.30
0.35
particle.size
pe
rc
.p
as
si
ng
0.01
0.4
0.5
0.6
0.7
particle.size
pe
rc
.p
as
si
ng
0.01
0.2
0.3
0.4
0.5
0.6
	Portada
	Introducción
	Objetivo
	Método del hidrómetro
	Paquete envalysis
	Análisis de datos
	Base de datos
	Las salidas
	Clasificar datos de textura de suelo: USDA
	Obtener la clase de suelo
	Obtener el triángulo de textura
	Trabajando con el código
	Acerca de R
	Créditos y Licencia

Continuar navegando

Contenido elegido para ti

40 pag.
Mecanica-de-Suelos

UNAM

User badge image

ricardo cortes hernandez

88 pag.
primer-informe-de-en-600271-downloadable-3809211

Vicente Riva Palacio

User badge image

Chelito Zamorano

144 pag.
DIAGNOSTICO-Y-ALTERNATIVA

IPN

User badge image

Todos los Materiales

Otros materiales