sExperiments <- function(experiment, replicates = 2){
control <- experiment[,"X0"]
treatments <- experiment[,!colnames(experiment) %in% "X0"]
treatments <- treatments[!apply(apply(treatments,2,is.na),1,all),]
nExperiments <- dim(treatments)[1]/replicates
idExperiments <- sort(rep(seq_len(nExperiments),replicates))
nControl <- floor(length(control)/nExperiments)
survival <- lapply(seq_len(nExperiments), function(experiment){
survival <- treatments[idExperiments==experiment,]/mean(control[(((experiment-1)*nControl)+1):(experiment*nControl)],na.rm = TRUE)
survival <- cbind(survival,X0 = 1)
survival <- survival[,paste0("X",sort(as.numeric(gsub("X","",colnames(survival)))))]
return(survival)
})
dResponse <- lapply(survival,function(experiment){
experiment <- experiment/max(experiment,na.rm = TRUE)
experiment <- as.data.frame.array(stack(experiment))
experiment[,2] <- gsub("X","",experiment[,2])
return(experiment)
})
return(dResponse)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.