#' Return standard deviation of each chem
#' @param pmlame A pmlame with row of stone and column of chem [g/g].
#' @param stonify_regexp A regexp string to be stripped off to stonefy
#' analyses. Matched string will be stripped off from acqlist to
#' have stonelist.
#' @return A pmlame with standard deviation value of each column
#' @export
#' @examples
#' pmlfile <- cbk.path("20130528105235-594267.pml")
#' message(sprintf("The pmlfile is located at |%s|.",pmlfile))
#' pmlame <- cbk.read.casteml(pmlfile)
#' pmlame0 <- cbk.lame.regulate(pmlame,mean=TRUE,error=FALSE,extra=FALSE)
#' pmlame1 <- cbk.lame.colSds(pmlame0)
cbk.lame.colSds <- function(pmlame,stonify_regexp="@[[:digit:]]+$") {
## stonify_regexp <- "@|[.]|-[[:alnum:]]*$" # until February 4, 2017
acqlist0 <- rownames(pmlame)
## acqlist1 <- unlist(lapply(strsplit(acqlist0,stonify_regexp),'[[',1))
acqlist1 <- gsub(stonify_regexp,"",acqlist0)
stonelist <- unique(acqlist1)
pmlame2 <- NaN
for(ii in 1:length(stonelist)) {
matched <- grepl(stonelist[ii],acqlist0)
pmlame0 <- pmlame[matched,,drop=FALSE]
pmlame1 <- data.frame(t(apply(pmlame0, 2, sd,na.rm=T)))
pmlame2 <- rbind(pmlame2,pmlame1)
}
pmlame2 <- pmlame2[2:nrow(pmlame2),,drop=FALSE] # drop first row
rownames(pmlame2) <- stonelist
## pmlame0 <- data.frame(t(apply(pmlame, 2, sd,na.rm=T)))
return(pmlame2)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.