Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library(BLA)
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# library(aplpack)
## -----------------------------------------------------------------------------
data("soil")
## ----fig.align='center', fig.dim=c(4,4)---------------------------------------
x<-soil$P
y<-soil$yield
#Distribution of the x variable
summastat(x)
summastat(log(x))
x<-log(x) # since x required a transformation to assume it is from a normal distribution.
#Distribution of the y variable
summastat(y)
## ----eval=FALSE, echo=TRUE,fig.align='center', fig.dim=c(4,4)-----------------
#
# # Create a dataframe containing x and y
#
# df<-data.frame(x,y)
#
# # Input the dataframe into the bagplot() function
#
# bag<-bagplot(df,show.whiskers = FALSE, ylim=c(0,20),create.plot = FALSE)
#
# # Combine data points from "bag" and within the loop i.e. exclude the outliers
#
# dat<-rbind(bag$pxy.bag,bag$pxy.outer)
#
# # Output is a matrix, we can pull out x and y variables for next stage
#
# x<-dat[,1]
# y<-dat[,2]
## ----eval=TRUE, echo=FALSE,fig.align='center', fig.dim=c(4,4)-----------------
# for vignette purpose only
x<-log(SoilP$P) # since we required a transformation
y<-SoilP$yield
## ----eval=FALSE,fig.align='center', fig.dim=c(4,4)----------------------------
#
# expl_boundary(x,y) # may take a few minutes to complete
#
## ----eval=FALSE---------------------------------------------------------------
# ?cbvn
## -----------------------------------------------------------------------------
data<-data.frame(x,y) #This is an input dataframe containing the variables
## ----eval=FALSE---------------------------------------------------------------
# plot(x,y)
#
# startValues("lp")
## -----------------------------------------------------------------------------
mean(x)
mean(y)
sd(x)
sd(y)
cor(x,y)
#The parameters of the boundary line and the data can be combined in a #vector start in the order
#start<-c(intercept, slope, max response, mean(x), mean(y), sd(x), sd(y), cor(x,y))
## ----eval=FALSE---------------------------------------------------------------
# ?ble_profile
## ----eval=FALSE,fig.align='center', fig.dim=c(4,4)----------------------------
#
# sigh=c(0.5,0.7,0.8)
# ble_profile(data,start,sigh,model = "lp") # may take a few minutes to run for large datasets
## ----eval=TRUE,fig.align='center', fig.dim=c(4,4)-----------------------------
start<-c(4,3,13.6,3,9,0.50,1.9,0.05)
model1<-cbvn(data,start=start,sigh=0.7,model = "lp", xlab=expression("P /log ppm"), ylab=expression("Yield /t ha"^{-1}), pch=16, col="grey")
model1
## ----eval=FALSE---------------------------------------------------------------
# ?predictBL
## ----eval=TRUE----------------------------------------------------------------
xp<-log(soil$P) # let xp be the P content in our dataset
xp[which(is.na(xp)==T)]<-mean(xp,na.rm=T)
P<-predictBL(model1,xp)
## ----fig.align='center', fig.dim=c(4,4)---------------------------------------
x<-soil$pH
y<-soil$yield
# Distribution of the x variable
summastat(x)
## ----eval=FALSE, echo=TRUE,fig.align='center', fig.dim=c(4,4)-----------------
#
# # Create a dataframe of x and y which is an input into the bagplot() function
#
# df<-data.frame(x,y)
#
# # Input the dataframe into the bagplot() function.
#
# bag<-bagplot(df,show.whiskers = FALSE, ylim=c(0,20),create.plot = FALSE)
#
# # Combine data points from "bag" and within the loop
#
# dat<-rbind(bag$pxy.bag,bag$pxy.outer)
#
# # Output is a matrix, we can pull out x and y variables for next stage
#
# x<-dat[,1]
# y<-dat[,2]
## ----eval=TRUE, echo=FALSE----------------------------------------------------
# for vignette purpose only
x<-SoilpH$pH # since we required a transformation
y<-SoilpH$yield
## -----------------------------------------------------------------------------
data<-data.frame(x,y) #This is an input dataframe containing the variables
## ----eval=FALSE---------------------------------------------------------------
# plot(x,y)
#
# startValues("lp")
## -----------------------------------------------------------------------------
mean(x)
mean(y)
sd(x)
sd(y)
cor(x,y)
#The parameters of the boundary line and the data can be combined in a #vector start in the order
#start<-c(intercept, slope, max response, mean(x), mean(y), sd(x), sd(y), cor(x,y))
start<-c(-9,3, 13.5,7.5,9,0.68,2.3,0.12)
## ----eval=TRUE,fig.align='center', fig.dim=c(4,4)-----------------------------
model2<-cbvn(data,start=start,sigh=0.7,model = "lp", xlab=expression("pH"), ylab=expression("Yield /t ha"^{-1}), pch=16, col="grey")
model2
## ----eval=TRUE----------------------------------------------------------------
xpH<-soil$pH # let xpH be the P content in our dataset
xpH[which(is.na(xpH)==T)]<-mean(xpH,na.rm=T)
pH<-predictBL(model2,xpH)
## ----eval=FALSE---------------------------------------------------------------
# ?limfactor
## ----eval=TRUE----------------------------------------------------------------
Limiting_factor<-limfactor(P,pH) # This produces a list of length 2 containg a vector limiting factors at each pont and the maximum predicted response in the dataset.
Limiting_factors<-Limiting_factor[[1]]
## ----eval=TRUE,fig.align='center', fig.dim=c(4,4)-----------------------------
Lim_factors<-Limiting_factors$Lim_factor
barplot(prop.table(table(Lim_factors))*100,
ylab = "Percentage (%)",
xlab = "Soil property",
col = "grey",
ylim=c(0,90))
axis(side = 1, at = seq(0, 4, by = 1), labels = FALSE, lwd = 1, col.ticks = "white")
axis(side = 2, lwd = 1)
## ----eval=TRUE,fig.align='center', fig.dim=c(4,4)-----------------------------
plot(Limiting_factors$Rs, soil$yield,
xlab="Predicted yield (ton/ha)",
ylab="Actual yield (ton/ha)", pch=16, col="grey")
abline(h=Limiting_factor[[2]], col="blue", lty=5, lwd=1)
lines(c(min(Limiting_factors$Rs),max(Limiting_factors$Rs)),
c(min(Limiting_factors$Rs),max(Limiting_factors$Rs)),
col="red", lwd=2)
legend("bottomleft",legend = c("Att yield", "1:1 line"),
lty=c(5,1), col=c("blue", "red"), lwd=c(1, 2), cex = 0.8)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.