combinesample <- function(minfrac = 0.2) {
data <- read.csv(dir()[1], stringsAsFactors = F, header = F)
colnames(data) <- data[2, ]
data <- data[-c(1:10), ]
index.mz <- which(colnames(data) != "")
index.int <- which(colnames(data) == "")
data.mz <- data[, index.mz]
data.int <- data[, index.int]
colnames(data.mz) <-
paste(colnames(data.mz), c(1:ncol(data.mz)), sep = "_")
union.mz <- as.vector(as.matrix(data.mz))
union.mz <- union.mz[union.mz != ""]
union.mz <- sort(as.numeric(unique(union.mz)))
data.final <- NULL
for (i in 1:ncol(data.mz)) {
mz <- data.mz[, i]
mz <- as.numeric(mz[mz != ""])
int <- data.int[, i]
int <- as.numeric(int[int != ""])
idx <- match(mz, union.mz)
data.new <- rep(NA, length(union.mz))
data.new[idx] <- int
data.final <- cbind(data.final, data.new)
}
colnames(data.final) <- colnames(data.mz)
na.per <- apply(data.final, 1, function(x) {sum(is.na(x))/ncol(data.final)})
idx <- which(na.per < minfrac)
data.final <- data.frame(union.mz, data.final)
colnames(data.final)[1] <- "mz"
data.final <- data.final[idx,]
data.final[is.na(data.final)] <- 0
write.csv(data.final, "data.final.csv", row.names = F)
data.for.simca <- t(data.final)
colnames(data.for.simca) <- NULL
write.csv(data.for.simca, "data.for.simca.csv", row.names = T)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.