brk2midp {lazy.tools} | R Documentation |
Define Midpoints from Break Points
brk2midp(brk, min = NULL)
brk |
a vector of break points. |
min |
The value of the lowest midpoint. This has priority over margin. |
Break values from midpoint values:
brk[1]=midp[1] - margin
brk[2]=midp[1] + (midp[2]-midp[1])/2
brk[3]=midp[2] + (midp[3]-midp[2])/2
brk[length(midpoints)+1]=midp[length(midpoints)] + margin
where margin=(midp[2]-midp[1])/2
.
In general, the break point is located at the center of two midpoints:
brk[k]=0.5*(midp[k-1]+midp[k])
Midpoint values from break values:
midp[1]=0.5*(brk[1]+brk[2])
or midp[1]=min
midp[2]=0.5*(brk[2]+brk[3])
midp[3]=2*brk[3]-midp[2]
brk[length(brk)-1]=2*brk[length(brk)-1]-midp[length(brk)-2]
Note that midp[1] is treated separately and it is assumed that
the break point is located at the center of two midpoints.
Try below to see how the obs on the border are classified.
xx <- c(1,2,3,4,5,6,7)
brks <- c(0,2,4,6,8)
cc1 <- cut(xx,brks)
cc2 <- cut(xx,brks, right=FALSE)
Print(xx,as.character(cc1),as.character(cc2))
A vector of midpoints of length length(brk)-1.
midp <- c(0,1,2,4,6,9,10,11)
brk <- midp2brk( midp )
Print( midp, brk, brk2midp(brk) )
brk[1] <- -4
Print( midp, brk, brk2midp(brk) )