Classificar fosforo e textura do solo

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

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@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... 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

Porque em vez de usar esse tipo escada de classificação você não usa um tipo suave? Para mim, este último faz mais sentido. Veja exemplo de como obter isso com a sua 'escada': ### 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 escada <- function(x, y, x.br, y.br, ...) { ix <- findInterval(x, x.br, ...)+1 lr <- lapply(1:nrow(y.br), function(j) { i <- which(ix==j) list(i=i, r=findInterval(y[i], y.br[j,], ...)+1) }) i <- sort(unlist(lapply(lr, function(x) x$i)), index.return=TRUE, method='quick')$ix unlist(lapply(lr, function(x) x$r))[i] } ### exemplo simulado n <- 30000 x <- 90*runif(n) y <- runif(n, 0, 100-x)*.7 cfosf <- rbind(c(10, 20, 30, 45), c(6.6, 12, 20, 30), c(4, 8, 12, 18), c(2.7, 5.4, 8, 12)) cfosf res <- escada(x, y, c(15, 35, 60), cfosf) table(res) plot(x, y, col=res, pch=19, las=1, asp=1, cex=0.3, xlab="Argila", ylab="Fósforo") abline(v=c(15, 35, 60), col=gray(.7)) for (j in 1:nrow(cfosf)) segments(c(0, 15, 35, 60)[j], cfosf[j,], c(15, 35, 60, 100)[j], cfosf[j,], lty=3) legend("topright", c("Muito baixo", "Baixo", "Médio", "Muito bom"), pch=19, col=1:5, bty='n', title='Textura') segments(0,100,100,0, lty=3) ### usando esses dados simulados ### (ideal e' usar dados reais) ### para obter uma funcao suave require(MASS) aj <- polr(resp ~ x*y, data.frame(resp=factor(res, ordered=TRUE))) prd <- predict(aj) plot(x, y, col=unclass(prd), pch=19, las=1, asp=1, cex=0.3, xlab="Argila", ylab="Fósforo") legend("topright", c("Muito baixo", "Baixo", "Médio", "Muito bom"), pch=19, col=1:5, bty='n', title='Textura') ### classificando um novo solo (Argila=36, fosforo=19) ### usando a escada: escada(36, 19, c(15, 35, 60), cfosf) ### suave: predict(aj, newdata=data.frame(x=36, y=19)) Att. Elias.
------------------------------------------------------------------------ Em 18/05/2013 09:28, *Hélio Gallo Rocha < heliogallorocha@gmail.com >* 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 R-br@listas.c3sl.ufpr.br 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.

Valeu Elias Seu CRM funcionou perfeitamente Testei com todos os niveis, apenas fiz este ajuste, pois no valores limites estavam classificando errado: cfosf <- rbind(c(10.001, 20.001, 30.001, 45.001), c(6.61, 12.01, 20.01, 30.01), c(4.01, 8.01, 12.01, 18.01), c(2.71, 5.41, 8.01, 12.01)) c=escada(x, y, c(15.001, 35.001, 60.001), cfosf) Como a gente coloca Resolvido? Abraço Hélio Em 20 de maio de 2013 15:16, Elias Krainski [via R-br] < ml-node+s2285057n4659361h59@n4.nabble.com> escreveu:
Porque em vez de usar esse tipo escada de classificação você não usa um tipo suave? Para mim, este último faz mais sentido. Veja exemplo de como obter isso com a sua 'escada':
### 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
escada <- function(x, y, x.br, y.br, ...) { ix <- findInterval(x, x.br, ...)+1 lr <- lapply(1:nrow(y.br), function(j) { i <- which(ix==j) list(i=i, r=findInterval(y[i], y.br[j,], ...)+1) }) i <- sort(unlist(lapply(lr, function(x) x$i)), index.return=TRUE, method='quick')$ix unlist(lapply(lr, function(x) x$r))[i] }
### exemplo simulado n <- 30000 x <- 90*runif(n) y <- runif(n, 0, 100-x)*.7
cfosf <- rbind(c(10, 20, 30, 45), c(6.6, 12, 20, 30), c(4, 8, 12, 18), c(2.7, 5.4, 8, 12)) cfosf res <- escada(x, y, c(15, 35, 60), cfosf) table(res)
plot(x, y, col=res, pch=19, las=1, asp=1, cex=0.3, xlab="Argila", ylab="Fósforo") abline(v=c(15, 35, 60), col=gray(.7)) for (j in 1:nrow(cfosf)) segments(c(0, 15, 35, 60)[j], cfosf[j,], c(15, 35, 60, 100)[j], cfosf[j,], lty=3) legend("topright", c("Muito baixo", "Baixo", "Médio", "Muito bom"), pch=19, col=1:5, bty='n', title='Textura') segments(0,100,100,0, lty=3)
### usando esses dados simulados ### (ideal e' usar dados reais) ### para obter uma funcao suave
require(MASS) aj <- polr(resp ~ x*y, data.frame(resp=factor(res, ordered=TRUE)))
prd <- predict(aj)
plot(x, y, col=unclass(prd), pch=19, las=1, asp=1, cex=0.3, xlab="Argila", ylab="Fósforo") legend("topright", c("Muito baixo", "Baixo", "Médio", "Muito bom"), pch=19, col=1:5, bty='n', title='Textura')
### classificando um novo solo (Argila=36, fosforo=19) ### usando a escada: escada(36, 19, c(15, 35, 60), cfosf) ### suave: predict(aj, newdata=data.frame(x=36, y=19))
Att. Elias.
------------------------------ Em 18/05/2013 09:28, *Hélio Gallo Rocha < [hidden email]<http://user/SendEmail.jtp?type=node&node=4659361&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=4659361&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.
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4659361&i=2> 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... 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

Hélio tente o seguinte comandos: recP<-function(argila,Psolo){ t<-numeric(0) if(100>=argila && argila>=60 && 2.7>=Psolo && Psolo>=0){ t<-c(t,"Multo Baixo") } if(100>=argila && argila>=60 && 5.4>=Psolo && Psolo>2.7){ t<-c(t,"Baixo") } if(100>=argila && argila>=60 && 8>=Psolo && Psolo>5.4){ t<-c(t,"Médio") } if(100>=argila && argila>=60 && 12>=Psolo && Psolo>8){ t<-c(t,"Bom") } if(100>=argila && argila>=60 && Psolo>12){ t<-c(t,"Muito Bom") } if(60>argila && argila>=35 && 4>=Psolo && Psolo>=0){ t<-c(t,"Multo Baixo") } if(60>argila && argila>=35 && 8>=Psolo && Psolo>4){ t<-c(t,"Baixo") } if(60>argila && argila>=35 && 12>=Psolo && Psolo>8){ t<-c(t,"Médio") } if(60>argila && argila>=35 && 18>=Psolo && Psolo>12){ t<-c(t,"Bom") } if(60>argila && argila>=35 && Psolo>18){ t<-c(t,"Muito Bom") } if(35>argila && argila>=15 && 6.6>=Psolo && Psolo>=0){ t<-c(t,"Multo Baixo") } if(35>argila && argila>=15 && 12>=Psolo && Psolo>6.6){ t<-c(t,"Baixo") } if(35>argila && argila>=15 && 20>=Psolo && Psolo>12){ t<-c(t,"Médio") } if(35>argila && argila>=15 && 30>=Psolo && Psolo>20){ t<-c(t,"Bom") } if(35>argila && argila>=15 && Psolo>30){ t<-c(t,"Muito Bom") } if(15>argila && argila>=0 && 10>=Psolo && Psolo>=0){ t<-c(t,"Multo Baixo") } if(15>argila && argila>=0 && 20>=Psolo && Psolo>10){ t<-c(t,"Baixo") } if(15>argila && argila>=0 && 30>=Psolo && Psolo>20){ t<-c(t,"Médio") } if(15>argila && argila>=0 && 45>=Psolo && Psolo>30){ t<-c(t,"Bom") } if(15>argila && argila>=0 && Psolo>45){ t<-c(t,"Muito Bom") } return(t) } De acordo com a classificação gerada pela função recP() você pode conectar estes comandos a outros de forma que ele retorne a quantidade de fertilizante a ser utilizada para uma determinada cultura. Att. Tiago. ############################################################################################################# Graduando em Agronomia pelo CCA-UFES Bolsista da FAPES na área de Genética e Melhoramento de plantas ############################################################################################################# Date: Sat, 18 May 2013 09:28:23 -0300 From: heliogallorocha@gmail.com To: r-br@listas.c3sl.ufpr.br Subject: [R-br] Classificar fosforo e textura do solo 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 soloargila=c(60,35,15,0) # teor de argilap1=c(0,2.7,5.4,8,12) # fósforo com + de 60% de argilap2=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 argilap4=c(0,10,20,30,45) # fósforo com < 15% de argilares=c("Muito.Baixo","Baixo", "Medio", "Alto", "Muito.alto") Assim se o resultado de P é 3.5 :60% de arg, seria classificado como Baixo35% 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 R-br@listas.c3sl.ufpr.br 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.

Olá pessoal! Gostaria de saber se alguém já usou no R o teste de Jonckheere. tentei usar o teste mas não sei qual pacote está instalado. Obrigada Teresa Cristina

http://lmgtfy.com/?q=r+project+Jonckheere Tito Conte 2013/5/20 Cristina <dtmd@ufscar.br>
** Olá pessoal!
Gostaria de saber se alguém já usou no R o teste de Jonckheere.
tentei usar o teste mas não sei qual pacote está instalado.
Obrigada
Teresa Cristina
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br 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.

Tiago, obrigado pela ajuda, deve ter dado um trabalhão rodei o CRM enviado, usei como teste, psolo= c(2,2.69,2.7,2.79,5.39,5.4,5.5,7.99,8,8.01,11.99,12,12.01) argila=rep(60.01,13) Sou novato no R, mas não consegui resposta Garto Hélio Em 20 de maio de 2013 12:41, Tiago de Souza [via R-br] < ml-node+s2285057n4659359h97@n4.nabble.com> escreveu:
Hélio tente o seguinte comandos:
recP<-function(argila,Psolo){ t<-numeric(0) if(100>=argila && argila>=60 && 2.7>=Psolo && Psolo>=0){ t<-c(t,"Multo Baixo") } if(100>=argila && argila>=60 && 5.4>=Psolo && Psolo>2.7){ t<-c(t,"Baixo") } if(100>=argila && argila>=60 && 8>=Psolo && Psolo>5.4){ t<-c(t,"Médio") } if(100>=argila && argila>=60 && 12>=Psolo && Psolo>8){ t<-c(t,"Bom") } if(100>=argila && argila>=60 && Psolo>12){ t<-c(t,"Muito Bom") } if(60>argila && argila>=35 && 4>=Psolo && Psolo>=0){ t<-c(t,"Multo Baixo") } if(60>argila && argila>=35 && 8>=Psolo && Psolo>4){ t<-c(t,"Baixo") } if(60>argila && argila>=35 && 12>=Psolo && Psolo>8){ t<-c(t,"Médio") } if(60>argila && argila>=35 && 18>=Psolo && Psolo>12){ t<-c(t,"Bom") } if(60>argila && argila>=35 && Psolo>18){ t<-c(t,"Muito Bom") } if(35>argila && argila>=15 && 6.6>=Psolo && Psolo>=0){ t<-c(t,"Multo Baixo") } if(35>argila && argila>=15 && 12>=Psolo && Psolo>6.6){ t<-c(t,"Baixo") } if(35>argila && argila>=15 && 20>=Psolo && Psolo>12){ t<-c(t,"Médio") } if(35>argila && argila>=15 && 30>=Psolo && Psolo>20){ t<-c(t,"Bom") } if(35>argila && argila>=15 && Psolo>30){ t<-c(t,"Muito Bom") } if(15>argila && argila>=0 && 10>=Psolo && Psolo>=0){ t<-c(t,"Multo Baixo") } if(15>argila && argila>=0 && 20>=Psolo && Psolo>10){ t<-c(t,"Baixo") } if(15>argila && argila>=0 && 30>=Psolo && Psolo>20){ t<-c(t,"Médio") } if(15>argila && argila>=0 && 45>=Psolo && Psolo>30){ t<-c(t,"Bom") } if(15>argila && argila>=0 && Psolo>45){ t<-c(t,"Muito Bom") } return(t) }
De acordo com a classificação gerada pela função recP() você pode conectar estes comandos a outros de forma que ele retorne a quantidade de fertilizante a ser utilizada para uma determinada cultura.
Att.
Tiago.
#############################################################################################################
Graduando em Agronomia pelo CCA-UFES
Bolsista da FAPES na área de Genética e Melhoramento de plantas
#############################################################################################################
------------------------------ Date: Sat, 18 May 2013 09:28:23 -0300 From: [hidden email]<http://user/SendEmail.jtp?type=node&node=4659359&i=0> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=4659359&i=1> Subject: [R-br] Classificar fosforo e textura do solo
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=4659359&i=2> 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.
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4659359&i=3> 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... 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
participantes (6)
-
andrebvs@bol.com.br
-
Cristina
-
Elias Krainski
-
Hélio Gallo Rocha
-
Tiago Souza Marçal
-
Tito Conte