De acordo com MARTINEZ et al. (1999), os ídices balanceados de Kenworthy, propostos por KENWORTHY(1961), permitem avaliar o estado nutricinal como percentagem da concentração de determinado nutriente em relação à norma. A vantagem deste método em relação à outros é o fato deste considerar o coeficiente de variação para cada nutriente na população de onde se obteve a norma. Para o cálculo dos coeficientes, procede-se destintamente quando a concentração do nutriente na população teste for menor ou maior que a norma:
Y_am > Y_ref
I = (P-100)CV/100
B = P-I
Y_am < Y_ref
I = (100-P)CV/100
B = P+I
A interpretação dos resultados é feita de acordo com a colocação dos valores em relação às faixas:
- Faixa de deficiência: 17 a 50 %
- Faixa marginal (abaixo do normal): 50 a 83 %
- Faixa adequada (normal): 83 a 117 %
- Faixa elevada (acima do normal): 117 a 150 %
- Faixa de excesso: 150 a 183 %
library(data.table)
library(dplyr)
library(matrixStats)
library(ggplot2)
#Arquivo com os dados de referência, para cálculo da norma:
d.ref <- data.frame(read.csv2("dados_ref_cafe.csv"))
print(d.ref)
## amostra N P K S Ca Mg Cu Mn Fe Zn B
## 1 am_1 3.00 0.20 2.30 0.18 2.25 0.35 15 180 130 13 75
## 2 am_2 2.85 0.15 2.00 0.16 2.20 0.35 14 113 127 9 60
## 3 am_3 2.37 0.14 2.10 0.20 2.50 0.40 10 127 155 5 63
## 4 am_4 2.56 0.16 2.50 0.22 2.40 0.20 12 190 140 8 80
## 5 am_5 2.70 0.15 2.80 0.28 2.10 0.30 15 205 100 14 77
## 6 am_6 3.50 0.14 2.50 0.19 2.20 0.25 9 137 125 16 58
## 7 am_7 2.89 0.13 2.20 0.16 3.00 0.30 16 113 130 13 75
## 8 am_8 3.01 0.27 2.33 0.30 2.35 0.35 20 148 135 15 80
## 9 am_9 3.60 0.25 2.50 0.15 2.40 0.25 12 136 130 10 66
## 10 am_10 2.30 0.10 3.00 0.20 2.85 0.20 15 144 150 12 60
#Arquivo com os teores foliares da amostra sob avaliação:
d.amostra <- data.frame(read.csv2("dados_am_cafe.csv")) print(d.amostra)
## nut N P K S Ca Mg Cu Mn Fe Zn B
## 1 t_amostra 2.41 0.23 1.42 0.2 1.18 0.22 11.49 207.03 141.15 13.23 60
d.ref.media <-data.frame(y_ref = sapply(d.ref[2:10,2:12], mean))
d.ref.variancia <-data.frame(variancia = sapply(d.ref[2:10,2:12], sd))
d.ref.media.var <- cbind.data.frame(d.ref.media, d.ref.variancia)
d.ref.media.var$cv <- (d.ref.media.var$variancia/d.ref.media.var$y_ref)*100
d.kw <- data.frame(d.ref.media.var)
y <- as.data.frame(t(d.amostra))
Y<- data.frame(v = y[2:12,])
d.kw$y_am <- as.numeric(as.character(Y$v))
d.kw$y_ref <- as.numeric(as.character(d.kw$y_ref))
d.kw$P <- (d.kw$y_am/d.kw$y_ref)*100
d.kw$I <- ifelse(d.kw$y_am > d.kw$y_ref, (d.kw$P-100)(d.kw$cv/100), (100-d.kw$P)(d.kw$cv/100) )
d.kw$B <- ifelse(d.kw$y_am > d.kw$y_ref, d.kw$P- d.kw$I, d.kw$P + d.kw$I)
d.kw$interpretacao <- ifelse(d.kw$B >= 17 & d.kw$B < 50, "Deficiência",
ifelse(d.kw$B >= 50 & d.kw$B < 83, "Abaixo do normal",
ifelse(d.kw$B >= 83 & d.kw$B < 117,"Normal",
ifelse(d.kw$B >= 117 & d.kw$B < 150,"Acima do normal", "Excesso"))))
d.ikw <- data.table(nutriente = row.names(d.kw), B = d.kw$B, Interpretacao = d.kw$interpretacao) %>% transform(nutriente = reorder(nutriente, -B))
print(d.ikw)
## nutriente B Interpretacao
## 1: N 86.65019 Normal
## 2: P 125.67179 Acima do normal
## 3: K 63.80107 Abaixo do normal
## 4: S 97.59643 Normal
## 5: Ca 54.65283 Abaixo do normal
## 6: Mg 81.90898 Abaixo do normal
## 7: Cu 87.98197 Normal
## 8: Mn 132.74323 Acima do normal
## 9: Fe 105.78239 Normal
## 10: Zn 111.41118 Normal
## 11: B 88.93508 Normal
graf_ikw <- ggplot(d.ikw, aes(nutriente,B))
graf_ikw + geom_col()+
ylab("B(%)") +
geom_hline(yintercept = 17)+
annotate(geom="text", label= "Deficiente", x=1, y=32.5, vjust=0, hjust = -4)+
geom_hline(yintercept = 50)+
annotate(geom="text", label= "Abaixo do normal", x=1, y=66.5, vjust=0, hjust = -2)+
geom_hline(yintercept = 83)+
annotate(geom="text", label= "Normal", x=1, y=100, vjust=0, hjust = -5.25)+
geom_hline(yintercept = 117)+
annotate(geom="text", label= "Acima do normal", x=1, y=133.5, vjust=0, hjust = -2)+
geom_hline(yintercept = 150)+
annotate(geom="text", label= "Excesso", x=1, y=150, vjust=-0.5, hjust = -4.3)
KENWORTHY, A. L. Interpreting the balance of nutrient-elements in leaves of fruit trees. In: Reuther W. Plant analysis and fertilizers problems. Washington: American Institute of Biological Science, 1961. p.28-23.
MARTINEZ, H. E. P.; CARVALHO, J. G.; SOUZA, R. B. Diagnose Foliar. In: RIBEIRO, A. C.; GUIMARÃES, P. T. G.; ALVAREZ V., V. H. (Org.). . Recomendações para o uso de corretivos e fertilizantes em Minas Gerais - 5° Aproximação. Viçosa: [s.n.], 1999. p. 359.
ggplot2 barplots : Quick start guide - R software and data visualization. Disponível em: http://www.sthda.com/english/wiki/ggplot2-barplots-quick-start-guide-r-software-and-data-visualization. Último acesso: 26/06/2017.
Find the Standard deviation for a vector, matrix, or data.frame - do not return error if there are no cases. Disponível em:https://www.personality-project.org/r/html/SD.html. Último acesso: 26/06/2017.
Disponível em:http://www.statmethods.net/management/subset.html. Último acesso: 26/06/2017.
Disponível em:https://s3.amazonaws.com/content.udacity-data.com/courses/gt-cse6242/recommended+reading/ggplot2-book.pdf. Último acesso: 26/06/2017.
Disponível em:https://stackoverflow.com/questions/39178740/ggplot2-reorder-bars-in-barplot-from-highest-to-lowest. Último acesso: 26/06/2017.