[R-br] Classificar fosforo e textura do solo

Hélio Gallo Rocha heliogallorocha em gmail.com
Sábado Maio 18 20:21:33 BRT 2013


André, vou tentar...

Já fiz o seguinte, segundo exemplo anterior da lista...

A recomendação de fósforo depende do nível de argila presente no solo,
então primeiro classifiquei o nível de argila da amostra,

CRM

arg=rep(seq(10,70,20),5)                     #dados de argila
class_arg=c(0,15,35,60,100)                #niveis da argila
resarg=c("MB","B","M","A")                #classes da argila
ca=cut(arg,class_arg,resarg)
data.frame(arg,ca)   #arg=dados e  ca é  a classe de nível de argila

Até ai ok

p=c(9, 5,3,2,15,8,5,4,25,15,10,7,35,15,10,7,50,35,20,15)# valores de fosforo
t=data.frame(p,ca);t ; #ONDE P=NIVEL DE P(dados) E K CLASSE DE ARGILA
DAQUELA AMOSTRA DE P

# até aqui, tudo certo, nível de argila classificada casada com a
quantidade de fosforo

#classificação de fosforo
n1=c(0,2.7,5.4,8,12,100);n1  # nivel classificação de fósforo com mais de
60% de argila

#vou explicar n1
#onde <2.7                    --nível muito baixo de fosforo com +60% argila
# entre 2.8 e 5.4             -- nível baixo de fosforo com +60% argila
# entre  5.5 e 8               -- nível médio de  fosforo com +60% argila
#entre 8.1 e 12               -- nível alto defosforo com +60% argila

#e assim sucessivamente

n2=c(0,4,8,12,18,100);n2    # classificação de fósforo com 35 a  60% de
argila
n3=c(0,6.6,12,20,30,100);n3  # classificação de fósforo com 15 a  35% de
argila
n4=c(0,10,20,30,45,100);n4 # classificação de fósforo com menos de 15% de
argila

resp=c("Muito.Baixo","Baixo", "Medio", "Bom", "Muito.bom") ;resp

t$classi=ifelse(t$ca=="B",
  cut(t$p, n1, resp, inc=T , right=F, ord=T),
  cut(t$p, n2, resp, inc=T , right=F, ord=T,
  cut(t$p, n3, resp, inc=T , right=F, ord=T),
  cut(t$p, n4, resp, inc=T , right=F, ord=T)))

t$classi=factor(t$classi, lev=1:5, lab=resp, ord=T)
data.frame(t)    # resultado errado

Deveria dar uma sequencia de :
4xMuito.Baixo,
4x Baixo,
4X Medio,
4x Bom e
4x Muito.Bom



Me parece que esta função funciona quando tenho dois níveis de argila, mas
como são 4

Grato


Em 18 de maio de 2013 17:48, andrebvs [via R-br] <
ml-node+s2285057n4659356h4 em n4.nabble.com> escreveu:

> Não ficou claro o que vc está querendo colega, poderia ser mais claro?
>
> *Att.*
> *André*
>
> ------------------------------
> Em 18/05/2013 09:28, *Hélio Gallo Rocha < [hidden email]<http://user/SendEmail.jtp?type=node&node=4659356&i=0>>
> * escreveu:
> Bom dia a todos,
>
> Para recomendar adubação fosfatada é necessário classificar a quantidade
> de fósforo da análise em conjunto a textura do solo.
>
>      Tabela da quinta aproximação
>
>
>
> Nível de Fósforo mg/dm3
>
> Argila%
>
> muito baixo
>
> Baixo
>
> Médio
>
> Bom
>
> Muito Bom
>
> 60-100
>
> <2.7 (menor e igual)
>
> 2.8-5.4
>
> 5.5-8
>
> 8.1-12
>
> >12
>
> 35-60
>
> <4
>
> 4.1-8
>
> 8.1-12
>
> 12.1-18
>
> >18
>
> 15-35
>
> <6.6
>
> 6.7-12
>
> 12.1-20
>
> 20.1-30
>
> >30
>
> 0-15
>
> <10
>
> 10.1-20
>
> 20.1-30
>
> 30.1-45
>
> >45
>
>
>
> Fiz o seguinte:
>  solo=c(1:50)                       # resultado da análise do solo
> argila=c(60,35,15,0)            # teor de argila
> p1=c(0,2.7,5.4,8,12)             # fósforo com + de 60% de argila
> p2=c(0,4,8,12,18)                # fósforo com 35 a  60% de argila
> p3=c(0,6.6,12,20,30)            # fósforo com 15 a  35% de argila
> p4=c(0,10,20,30,45)            # fósforo com < 15% de argila
> res=c("Muito.Baixo","Baixo", "Medio", "Alto", "Muito.alto")
>
> Assim se o resultado de P é 3.5 :
> 60% de arg, seria classificado como Baixo
> 35% de arg. seria classificado como muito baixo
>
> andei dando uma olhada na solução do post
> Uso do ifelse
>
>  A saida desta função seria casada com uma recomendação,
>
> Grato a todos
>
> --
> Hélio Gallo Rocha
> IFSULDEMINAS - Câmpus Muzambinho
>
>
> _______________________________________________
> R-br mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=4659356&i=1>
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://r-br.2285057.n4.nabble.com/R-br-Classificar-fosforo-e-textura-do-solo-tp4659355p4659356.html
>  To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=aGVsaW9nYWxsb3JvY2hhQGdtYWlsLmNvbXwzMzU3OTgyfC0xMzQ3NTkwMDY4>
> .
> NAML<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>



-- 
Hélio Gallo Rocha
IFSULDEMINAS - Câmpus Muzambinho
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130518/f74eb3f2/attachment.html>


Mais detalhes sobre a lista de discussão R-br